coreaudio 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/ChangeLog +11 -0
  2. data/VERSION +1 -1
  3. data/coreaudio.gemspec +2 -2
  4. data/ext/coreaudio.m +29 -0
  5. metadata +59 -54
data/ChangeLog CHANGED
@@ -1,3 +1,14 @@
1
+ Tue Mar 6 12:39:59 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
2
+
3
+ * coreaudio.gemspec: fix dependency. narray should runtime dependency.
4
+
5
+ * ext/coreaudio.m (ca_buffer_space): add AudioBuffer#space.
6
+ it tells space of ring buffer in frame number.
7
+
8
+ Tue Mar 6 12:13:01 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
9
+
10
+ * coreaudio.gemspec: Version bump to 0.0.9.
11
+
1
12
  Fri Feb 24 01:06:20 2012 CHIKANAGA Tomoyuki <nagachika00@gmail.com>
2
13
 
3
14
  * release 0.0.8
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.8
1
+ 0.0.9
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "coreaudio"
8
- s.version = "0.0.8"
8
+ s.version = "0.0.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["CHIKANAGA Tomoyuki"]
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
53
53
  s.specification_version = 3
54
54
 
55
55
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
- s.add_development_dependency(%q<narray>, ["~> 0.6.0.0"])
56
+ s.add_runtime_dependency(%q<narray>, ["~> 0.6.0.0"])
57
57
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
58
58
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.0"])
59
59
  s.add_development_dependency(%q<rake>, ["~> 0.9.2"])
@@ -713,6 +713,34 @@ ca_buffer_wait_blocking(VALUE value)
713
713
  RUBY_UBF_IO, NULL);
714
714
  }
715
715
 
716
+ static size_t
717
+ buffer_space(ca_buffer_data *data)
718
+ {
719
+ UInt32 nxt;
720
+ size_t space;
721
+
722
+ pthread_mutex_lock(&data->mutex);
723
+ nxt = (data->end+1) % data->frame;
724
+ if ( nxt <= data->start )
725
+ space = (size_t)(data->start - nxt);
726
+ else
727
+ space = (size_t)(data->start + data->frame - nxt);
728
+ pthread_mutex_unlock(&data->mutex);
729
+ return space;
730
+ }
731
+
732
+ static VALUE
733
+ ca_buffer_space(VALUE self)
734
+ {
735
+ ca_buffer_data *data;
736
+ size_t space;
737
+
738
+ TypedData_Get_Struct(self, ca_buffer_data, &ca_buffer_data_type, data);
739
+
740
+ space = buffer_space(data);
741
+ return SIZET2NUM(space);
742
+ }
743
+
716
744
  static VALUE
717
745
  ca_buffer_dropped_frame(VALUE self)
718
746
  {
@@ -1066,6 +1094,7 @@ Init_coreaudio_ext(void)
1066
1094
  rb_define_method(rb_cAudioBuffer, "stop", ca_buffer_data_stop, 0);
1067
1095
  rb_define_method(rb_cAudioBuffer, "dropped_frame", ca_buffer_dropped_frame, 0);
1068
1096
  rb_define_method(rb_cAudioBuffer, "reset_dropped_frame", ca_buffer_reset_dropped_frame, 0);
1097
+ rb_define_method(rb_cAudioBuffer, "space", ca_buffer_space, 0);
1069
1098
 
1070
1099
  rb_define_method(rb_cOutputBuffer, "<<", ca_out_buffer_data_append, 1);
1071
1100
 
metadata CHANGED
@@ -1,81 +1,83 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: coreaudio
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.8
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.9
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - CHIKANAGA Tomoyuki
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-23 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-02-23 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: narray
16
- requirement: &2151836540 !ruby/object:Gem::Requirement
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
17
19
  none: false
18
- requirements:
20
+ requirements:
19
21
  - - ~>
20
- - !ruby/object:Gem::Version
22
+ - !ruby/object:Gem::Version
21
23
  version: 0.6.0.0
22
- type: :development
23
- prerelease: false
24
- version_requirements: *2151836540
25
- - !ruby/object:Gem::Dependency
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: bundler
27
- requirement: &2151836000 !ruby/object:Gem::Requirement
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
28
30
  none: false
29
- requirements:
31
+ requirements:
30
32
  - - ~>
31
- - !ruby/object:Gem::Version
33
+ - !ruby/object:Gem::Version
32
34
  version: 1.0.0
33
35
  type: :development
34
- prerelease: false
35
- version_requirements: *2151836000
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: jeweler
38
- requirement: &2151835520 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
39
41
  none: false
40
- requirements:
42
+ requirements:
41
43
  - - ~>
42
- - !ruby/object:Gem::Version
44
+ - !ruby/object:Gem::Version
43
45
  version: 1.8.0
44
46
  type: :development
45
- prerelease: false
46
- version_requirements: *2151835520
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: rake
49
- requirement: &2151834980 !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
50
52
  none: false
51
- requirements:
53
+ requirements:
52
54
  - - ~>
53
- - !ruby/object:Gem::Version
55
+ - !ruby/object:Gem::Version
54
56
  version: 0.9.2
55
57
  type: :development
56
- prerelease: false
57
- version_requirements: *2151834980
58
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
59
60
  name: rdoc
60
- requirement: &2151834360 !ruby/object:Gem::Requirement
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
61
63
  none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
66
68
  type: :development
67
- prerelease: false
68
- version_requirements: *2151834360
69
+ version_requirements: *id005
69
70
  description: Mac OS X CoreAudio wrapper library
70
71
  email: nagachika00@gmail.com
71
72
  executables: []
72
- extensions:
73
+
74
+ extensions:
73
75
  - ext/extconf.rb
74
- extra_rdoc_files:
76
+ extra_rdoc_files:
75
77
  - ChangeLog
76
78
  - LICENSE.txt
77
79
  - README.rdoc
78
- files:
80
+ files:
79
81
  - .document
80
82
  - ChangeLog
81
83
  - Gemfile
@@ -100,28 +102,31 @@ files:
100
102
  - lib/coreaudio.rb
101
103
  - lib/coreaudio/audiofile.rb
102
104
  homepage: https://github.com/nagachika/ruby-coreaudio
103
- licenses:
105
+ licenses:
104
106
  - BSDL
105
107
  post_install_message:
106
108
  rdoc_options: []
107
- require_paths:
109
+
110
+ require_paths:
108
111
  - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
112
+ required_ruby_version: !ruby/object:Gem::Requirement
110
113
  none: false
111
- requirements:
112
- - - ! '>='
113
- - !ruby/object:Gem::Version
114
- version: '0'
115
- required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: "0"
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
119
  none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: "0"
121
124
  requirements: []
125
+
122
126
  rubyforge_project:
123
127
  rubygems_version: 1.8.11
124
128
  signing_key:
125
129
  specification_version: 3
126
130
  summary: Mac OS X CoreAudio wrapper library
127
131
  test_files: []
132
+