coreaudio 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+