win32-sapi 0.1.5 → 0.1.6

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.
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.1.6 - 17-Jan-2011
2
+ * Some Rakefile and gemspec updates.
3
+ * Two tests now skipped on Windows XP.
4
+ * Added windows-pr as a development dependency.
5
+
1
6
  == 0.1.5 - 10-Aug-2009
2
7
  * Changed license to Artistic 2.0.
3
8
  * Some gemspec updates, including license and description.
@@ -23,4 +28,4 @@
23
28
  * Made the CHANGES and README files rdoc friendly.
24
29
 
25
30
  == 0.1.0 - 12-Oct-2004
26
- * Initial release
31
+ * Initial release
data/Rakefile CHANGED
@@ -1,26 +1,31 @@
1
1
  require 'rake'
2
+ require 'rake/clean'
2
3
  require 'rake/testtask'
3
4
 
4
- desc 'Install the win32-sapi library (non-gem)'
5
- task :install do
6
- dest = File.join(Config::CONFIG['sitelibdir'], 'win32')
7
- Dir.mkdir(dest) unless File.exists? dest
8
- cp 'lib/win32/sapi5.rb', dest, :verbose => true
9
- end
5
+ CLEAN.include('**/*.gem', '**/*.rbc')
6
+
7
+ namespace :gem do
8
+ desc "Create the win32-sapi gem"
9
+ task :create => [:clean] do
10
+ spec = eval(IO.read('win32-sapi.gemspec'))
11
+ Gem::Builder.new(spec).build
12
+ end
10
13
 
11
- desc 'Install the win32-sapi library as a gem'
12
- task :install_gem do
13
- ruby 'win32-sapi.gemspec'
14
- file = Dir["*.gem"].first
15
- sh "gem install #{file}"
14
+ desc "Install the win32-sapi gem"
15
+ task :install => [:create] do
16
+ file = Dir["*.gem"].first
17
+ sh "gem install #{file}"
18
+ end
16
19
  end
17
20
 
18
- desc 'Run the example program'
21
+ desc 'Run the example win32-sapi program'
19
22
  task :example do
20
- ruby '-Ilib examples/example_sapi5.rb'
23
+ ruby '-Ilib examples/example_sapi5.rb'
21
24
  end
22
25
 
23
26
  Rake::TestTask.new do |t|
24
- t.warning = true
25
- t.verbose = true
27
+ t.warning = true
28
+ t.verbose = true
26
29
  end
30
+
31
+ task :default => :test
@@ -3,194 +3,194 @@ require 'win32ole'
3
3
  # The Win32 module serves as a namespace only.
4
4
  module Win32
5
5
 
6
- #--
7
- # The values provided in the various initializers come from the Windows
8
- # registry. Look in HKLM\Software\Classes\CLSID.
9
- #++
6
+ #--
7
+ # The values provided in the various initializers come from the Windows
8
+ # registry. Look in HKLM\Software\Classes\CLSID.
9
+ #++
10
10
 
11
- # An abstract base class for the SAPI automation classes. You should not
12
- # Win32::SAPI5 directly.
13
- #
14
- class SAPI5 < WIN32OLE
15
- # The version of the win32-sapi library.
16
- VERSION = '0.1.5'
17
- end
18
-
19
- # The SpAudioFormat automation object represents an audio format.
20
- #
21
- class SpAudioFormat < SAPI5
22
- def initialize
23
- super("{9EF96870-E160-4792-820D-48CF0649E4EC}")
24
- end
25
- end
26
-
27
- # The SpCustomStream automation object supports the use of existing IStream
28
- # objects in SAPI.
29
- #
30
- class SpCustomStream < SAPI5
31
- def initialize
32
- super("{8DBEF13F-1948-4aa8-8CF0-048EEBED95D8}")
33
- end
34
- end
11
+ # An abstract base class for the SAPI automation classes. You should not
12
+ # Win32::SAPI5 directly.
13
+ #
14
+ class SAPI5 < WIN32OLE
15
+ # The version of the win32-sapi library.
16
+ VERSION = '0.1.6'
17
+ end
18
+
19
+ # The SpAudioFormat automation object represents an audio format.
20
+ #
21
+ class SpAudioFormat < SAPI5
22
+ def initialize
23
+ super("{9EF96870-E160-4792-820D-48CF0649E4EC}")
24
+ end
25
+ end
26
+
27
+ # The SpCustomStream automation object supports the use of existing IStream
28
+ # objects in SAPI.
29
+ #
30
+ class SpCustomStream < SAPI5
31
+ def initialize
32
+ super("{8DBEF13F-1948-4aa8-8CF0-048EEBED95D8}")
33
+ end
34
+ end
35
35
 
36
- # The SpFileStream automation object enables data streams to be read and
37
- # written as files.
38
- #
39
- class SpFileStream < SAPI5
40
- def initialize
41
- super("{947812B3-2AE1-4644-BA86-9E90DED7EC91}")
42
- end
43
- end
44
-
45
- # The SpInProcRecoContext automation object defines a recognition context.
46
- # A recognition context is the primary means by which an application
47
- # interacts with SAPI for speech recognition.
48
- #
49
- class SpInProcRecoContext < SAPI5
50
- def initialize
51
- super("{73AD6842-ACE0-45E8-A4DD-8795881A2C2A}")
52
- end
53
- end
54
-
55
- # The SpInProcRecognizer automation object represents a speech recognition
56
- # engine.
57
- #
58
- class SpInProcRecognizer < SAPI5
59
- def initialize
60
- super("{41B89B6B-9399-11D2-9623-00C04F8EE628}")
61
- end
62
- end
63
-
64
- # The SpLexicon automation object provides access to lexicons. Lexicons
65
- # contain information about words that can be recognized or spoken.
66
- #
67
- class SpLexicon < SAPI5
68
- def initialize
69
- super("{0655E396-25D0-11D3-9C26-00C04F8EF87C}")
70
- end
71
- end
72
-
73
- # The SpMemoryStream automation object supports audio stream operations in
74
- # memory.
75
- #
76
- class SpMemoryStream < SAPI5
77
- def initialize
78
- super("{5FB7EF7D-DFF4-468a-B6B7-2FCBD188F994}")
79
- end
80
- end
81
-
82
- # The SpMMAudioIn automation object supports audio implementation for
83
- # the standard Windows wave-in multimedia layer.
84
- #
85
- class SpMMAudioIn < SAPI5
86
- def initialize
87
- super("{CF3D2E50-53F2-11D2-960C-00C04F8EE628}")
88
- end
89
- end
90
-
91
- # The SpMMAudioIn automation object supports audio implementation for
92
- # the standard Windows wave-out multimedia layer.
93
- #
94
- class SpMMAudioOut < SAPI5
95
- def initialize
96
- super("{A8C680EB-3D32-11D2-9EE7-00C04F797396}")
97
- end
98
- end
99
-
100
- # The SpObjectToken automation object represents an available resource
101
- # of a type used by SAPI.
102
- #
103
- class SpObjectToken < SAPI5
104
- def initialize
105
- super("{EF411752-3736-4CB4-9C8C-8EF4CCB58EFE}")
106
- end
107
- end
108
-
109
- # The SpObjectTokenCategory automation object represents a class of object
110
- # tokens. Object tokens are associated with specific folders in the Speech
111
- # configuration database, and these folders are organized into categories,
112
- # such as Recognizers, AudioInputs and Voices. An SpObjectTokenCategory
113
- # object represents a single category of object tokens, and provides access
114
- # to all the tokens within that category.
115
- #
116
- class SpObjectTokenCategory < SAPI5
117
- def initialize
118
- super("{A910187F-0C7A-45AC-92CC-59EDAFB77B53}")
119
- end
120
- end
121
-
122
- # The SpPhoneConverter automation object supports conversion between
123
- # phoneme symbols and phoneme IDs.
124
- #
125
- class SpPhoneConverter < SAPI5
126
- def initialize
127
- super("{9185F743-1143-4C28-86B5-BFF14F20E5C8}")
128
- end
129
- end
130
-
131
- # The SpPhraseInfoBuilder automation object provides the ability to
132
- # rebuild phrase information from audio data saved to memory.
133
- #
134
- class SpPhraseInfoBuilder < SAPI5
135
- def initialize
136
- super("{C23FC28D-C55F-4720-8B32-91F73C2BD5D1}")
137
- end
138
- end
139
-
140
- # The SpSharedRecoContext automation object defines a recognition context.
141
- #
142
- class SpSharedRecoContext < SAPI5
143
- def initialize
144
- super("{47206204-5ECA-11D2-960F-00C04F8EE628}")
145
- end
146
- end
147
-
148
- # The SpSharedRecognizer automation object represents a speech recognition
149
- # engine.
150
- #
151
- class SpSharedRecognizer < SAPI5
152
- def initialize
153
- super("{3BEE4890-4FE9-4A37-8C1E-5E7E12791C1F}")
154
- end
155
- end
156
-
157
- # The SpTextSelectionInformation automation object provides access to the
158
- # text selection information pertaining to a word sequence buffer.
159
- #
160
- class SpTextSelectionInformation < SAPI5
161
- def initialize
162
- super("{0F92030A-CBFD-4AB8-A164-FF5985547FF6}")
163
- end
164
- end
165
-
166
- # The SpUnCompressedLexicon automation object provides access to lexicons,
167
- # which contain information about words that can be recognized or spoken.
168
- #
169
- class SpUnCompressedLexicon < SAPI5
170
- def initialize
171
- super("{C9E37C15-DF92-4727-85D6-72E5EEB6995A}")
172
- end
173
- end
174
-
175
- # The SpVoice object brings the text-to-speech (TTS) engine capabilities
176
- # to applications using SAPI automation. An application can create numerous
177
- # SpVoice objects, each independent of and capable of interacting with the
178
- # others. An SpVoice object, usually referred to simply as a voice, is
179
- # created with default property settings so that it is ready to speak
180
- # immediately.
181
- #
182
- class SpVoice < SAPI5
183
- def initialize
184
- super("{96749377-3391-11D2-9EE3-00C04F797396}")
185
- end
186
- end
187
-
188
- # The SpWaveFormatEx automation object represents the format of
189
- # waveform-audio data.
190
- #
191
- class SpWaveFormatEx < SAPI5
192
- def initialize
193
- super("{C79A574C-63BE-44b9-801F-283F87F898BE}")
194
- end
195
- end
36
+ # The SpFileStream automation object enables data streams to be read and
37
+ # written as files.
38
+ #
39
+ class SpFileStream < SAPI5
40
+ def initialize
41
+ super("{947812B3-2AE1-4644-BA86-9E90DED7EC91}")
42
+ end
43
+ end
44
+
45
+ # The SpInProcRecoContext automation object defines a recognition context.
46
+ # A recognition context is the primary means by which an application
47
+ # interacts with SAPI for speech recognition.
48
+ #
49
+ class SpInProcRecoContext < SAPI5
50
+ def initialize
51
+ super("{73AD6842-ACE0-45E8-A4DD-8795881A2C2A}")
52
+ end
53
+ end
54
+
55
+ # The SpInProcRecognizer automation object represents a speech recognition
56
+ # engine.
57
+ #
58
+ class SpInProcRecognizer < SAPI5
59
+ def initialize
60
+ super("{41B89B6B-9399-11D2-9623-00C04F8EE628}")
61
+ end
62
+ end
63
+
64
+ # The SpLexicon automation object provides access to lexicons. Lexicons
65
+ # contain information about words that can be recognized or spoken.
66
+ #
67
+ class SpLexicon < SAPI5
68
+ def initialize
69
+ super("{0655E396-25D0-11D3-9C26-00C04F8EF87C}")
70
+ end
71
+ end
72
+
73
+ # The SpMemoryStream automation object supports audio stream operations in
74
+ # memory.
75
+ #
76
+ class SpMemoryStream < SAPI5
77
+ def initialize
78
+ super("{5FB7EF7D-DFF4-468a-B6B7-2FCBD188F994}")
79
+ end
80
+ end
81
+
82
+ # The SpMMAudioIn automation object supports audio implementation for
83
+ # the standard Windows wave-in multimedia layer.
84
+ #
85
+ class SpMMAudioIn < SAPI5
86
+ def initialize
87
+ super("{CF3D2E50-53F2-11D2-960C-00C04F8EE628}")
88
+ end
89
+ end
90
+
91
+ # The SpMMAudioIn automation object supports audio implementation for
92
+ # the standard Windows wave-out multimedia layer.
93
+ #
94
+ class SpMMAudioOut < SAPI5
95
+ def initialize
96
+ super("{A8C680EB-3D32-11D2-9EE7-00C04F797396}")
97
+ end
98
+ end
99
+
100
+ # The SpObjectToken automation object represents an available resource
101
+ # of a type used by SAPI.
102
+ #
103
+ class SpObjectToken < SAPI5
104
+ def initialize
105
+ super("{EF411752-3736-4CB4-9C8C-8EF4CCB58EFE}")
106
+ end
107
+ end
108
+
109
+ # The SpObjectTokenCategory automation object represents a class of object
110
+ # tokens. Object tokens are associated with specific folders in the Speech
111
+ # configuration database, and these folders are organized into categories,
112
+ # such as Recognizers, AudioInputs and Voices. An SpObjectTokenCategory
113
+ # object represents a single category of object tokens, and provides access
114
+ # to all the tokens within that category.
115
+ #
116
+ class SpObjectTokenCategory < SAPI5
117
+ def initialize
118
+ super("{A910187F-0C7A-45AC-92CC-59EDAFB77B53}")
119
+ end
120
+ end
121
+
122
+ # The SpPhoneConverter automation object supports conversion between
123
+ # phoneme symbols and phoneme IDs.
124
+ #
125
+ class SpPhoneConverter < SAPI5
126
+ def initialize
127
+ super("{9185F743-1143-4C28-86B5-BFF14F20E5C8}")
128
+ end
129
+ end
130
+
131
+ # The SpPhraseInfoBuilder automation object provides the ability to
132
+ # rebuild phrase information from audio data saved to memory.
133
+ #
134
+ class SpPhraseInfoBuilder < SAPI5
135
+ def initialize
136
+ super("{C23FC28D-C55F-4720-8B32-91F73C2BD5D1}")
137
+ end
138
+ end
139
+
140
+ # The SpSharedRecoContext automation object defines a recognition context.
141
+ #
142
+ class SpSharedRecoContext < SAPI5
143
+ def initialize
144
+ super("{47206204-5ECA-11D2-960F-00C04F8EE628}")
145
+ end
146
+ end
147
+
148
+ # The SpSharedRecognizer automation object represents a speech recognition
149
+ # engine.
150
+ #
151
+ class SpSharedRecognizer < SAPI5
152
+ def initialize
153
+ super("{3BEE4890-4FE9-4A37-8C1E-5E7E12791C1F}")
154
+ end
155
+ end
156
+
157
+ # The SpTextSelectionInformation automation object provides access to the
158
+ # text selection information pertaining to a word sequence buffer.
159
+ #
160
+ class SpTextSelectionInformation < SAPI5
161
+ def initialize
162
+ super("{0F92030A-CBFD-4AB8-A164-FF5985547FF6}")
163
+ end
164
+ end
165
+
166
+ # The SpUnCompressedLexicon automation object provides access to lexicons,
167
+ # which contain information about words that can be recognized or spoken.
168
+ #
169
+ class SpUnCompressedLexicon < SAPI5
170
+ def initialize
171
+ super("{C9E37C15-DF92-4727-85D6-72E5EEB6995A}")
172
+ end
173
+ end
174
+
175
+ # The SpVoice object brings the text-to-speech (TTS) engine capabilities
176
+ # to applications using SAPI automation. An application can create numerous
177
+ # SpVoice objects, each independent of and capable of interacting with the
178
+ # others. An SpVoice object, usually referred to simply as a voice, is
179
+ # created with default property settings so that it is ready to speak
180
+ # immediately.
181
+ #
182
+ class SpVoice < SAPI5
183
+ def initialize
184
+ super("{96749377-3391-11D2-9EE3-00C04F797396}")
185
+ end
186
+ end
187
+
188
+ # The SpWaveFormatEx automation object represents the format of
189
+ # waveform-audio data.
190
+ #
191
+ class SpWaveFormatEx < SAPI5
192
+ def initialize
193
+ super("{C79A574C-63BE-44b9-801F-283F87F898BE}")
194
+ end
195
+ end
196
196
  end
@@ -10,94 +10,96 @@
10
10
  #
11
11
  # You should run this test case via the 'rake test' Rake task.
12
12
  #############################################################################
13
+ require 'rubygems'
14
+ gem 'test-unit'
15
+
13
16
  require 'win32/sapi5'
17
+ require 'windows/system_info'
14
18
  require 'test/unit'
15
19
  include Win32
16
20
 
17
21
  class TC_Win32_SAPI5 < Test::Unit::TestCase
18
- def setup
19
- end
20
-
21
- def test_version
22
- assert_equal('0.1.5', SAPI5::VERSION)
23
- end
24
-
25
- def test_SpAudioFormat
26
- assert_nothing_raised{ SpAudioFormat.new }
27
- end
28
-
29
- def test_SpCustomStream
30
- assert_nothing_raised{ SpCustomStream.new }
31
- end
32
-
33
- def test_SpFileStream
34
- assert_nothing_raised{ SpFileStream.new }
35
- end
36
-
37
- def test_SpInProcRecoContext
38
- assert_nothing_raised{ SpInProcRecoContext.new }
39
- end
40
-
41
- def test_SpInProcRecognizer
42
- assert_nothing_raised{ SpInProcRecognizer.new }
43
- end
44
-
45
- def test_SpLexicon
46
- assert_nothing_raised{ SpLexicon.new }
47
- end
48
-
49
- def test_SpMemoryStream
50
- assert_nothing_raised{ SpMemoryStream.new }
51
- end
52
-
53
- def test_SpMMAudioIn
54
- assert_nothing_raised{ SpMMAudioIn.new }
55
- end
56
-
57
- def test_SpMMAudioOut
58
- assert_nothing_raised{ SpMMAudioOut.new }
59
- end
60
-
61
- def test_SpObjectToken
62
- assert_nothing_raised{ SpObjectToken.new }
63
- end
64
-
65
- def test_SpObjectTokenCategory
66
- assert_nothing_raised{ SpObjectTokenCategory.new }
67
- end
68
-
69
- def test_SpPhoneConverter
70
- assert_nothing_raised{ SpPhoneConverter.new }
71
- end
72
-
73
- def test_SpPhraseInfoBuilder
74
- assert_nothing_raised{ SpPhraseInfoBuilder.new }
75
- end
76
-
77
- def test_SpSharedRecoContext
78
- assert_nothing_raised{ SpSharedRecoContext.new }
79
- end
80
-
81
- def test_SpSharedRecognizer
82
- assert_nothing_raised{ SpSharedRecognizer.new }
83
- end
84
-
85
- def test_SpTextSelectionInformation
86
- assert_nothing_raised{ SpTextSelectionInformation.new }
87
- end
88
-
89
- def test_SpUnCompressedLexicon
90
- assert_nothing_raised{ SpUnCompressedLexicon.new }
91
- end
92
-
93
- def test_SpVoice
94
- assert_nothing_raised{ SpVoice.new }
95
- end
96
-
97
- def test_SpWaveFormatEx
98
- assert_nothing_raised{ SpWaveFormatEx.new }
99
- end
100
-
101
- def teardown
102
- end
22
+ include Windows::SystemInfo
23
+
24
+ def test_version
25
+ assert_equal('0.1.6', SAPI5::VERSION)
26
+ end
27
+
28
+ def test_SpAudioFormat
29
+ assert_nothing_raised{ SpAudioFormat.new }
30
+ end
31
+
32
+ def test_SpCustomStream
33
+ assert_nothing_raised{ SpCustomStream.new }
34
+ end
35
+
36
+ def test_SpFileStream
37
+ assert_nothing_raised{ SpFileStream.new }
38
+ end
39
+
40
+ def test_SpInProcRecoContext
41
+ omit_if(windows_xp?, "SpInProcRecoContext skipped on Windows XP")
42
+ assert_nothing_raised{ SpInProcRecoContext.new }
43
+ end
44
+
45
+ def test_SpInProcRecognizer
46
+ assert_nothing_raised{ SpInProcRecognizer.new }
47
+ end
48
+
49
+ def test_SpLexicon
50
+ assert_nothing_raised{ SpLexicon.new }
51
+ end
52
+
53
+ def test_SpMemoryStream
54
+ assert_nothing_raised{ SpMemoryStream.new }
55
+ end
56
+
57
+ def test_SpMMAudioIn
58
+ assert_nothing_raised{ SpMMAudioIn.new }
59
+ end
60
+
61
+ def test_SpMMAudioOut
62
+ assert_nothing_raised{ SpMMAudioOut.new }
63
+ end
64
+
65
+ def test_SpObjectToken
66
+ assert_nothing_raised{ SpObjectToken.new }
67
+ end
68
+
69
+ def test_SpObjectTokenCategory
70
+ assert_nothing_raised{ SpObjectTokenCategory.new }
71
+ end
72
+
73
+ def test_SpPhoneConverter
74
+ assert_nothing_raised{ SpPhoneConverter.new }
75
+ end
76
+
77
+ def test_SpPhraseInfoBuilder
78
+ assert_nothing_raised{ SpPhraseInfoBuilder.new }
79
+ end
80
+
81
+ def test_SpSharedRecoContext
82
+ omit_if(windows_xp?, "SpSharedRecoContext skipped on Windows XP")
83
+ assert_nothing_raised{ SpSharedRecoContext.new }
84
+ end
85
+
86
+ def test_SpSharedRecognizer
87
+ assert_nothing_raised{ SpSharedRecognizer.new }
88
+ end
89
+
90
+ def test_SpTextSelectionInformation
91
+ assert_nothing_raised{ SpTextSelectionInformation.new }
92
+ end
93
+
94
+ def test_SpUnCompressedLexicon
95
+ assert_nothing_raised{ SpUnCompressedLexicon.new }
96
+ end
97
+
98
+ def test_SpVoice
99
+ assert_nothing_raised{ SpVoice.new }
100
+ end
101
+
102
+ def test_SpWaveFormatEx
103
+ assert_nothing_raised{ SpWaveFormatEx.new }
104
+ end
103
105
  end
@@ -1,25 +1,25 @@
1
- require 'rubygems'
2
-
3
- spec = Gem::Specification.new do |gem|
4
- gem.name = 'win32-sapi'
5
- gem.version = '0.1.5'
6
- gem.author = 'Daniel J. Berger'
7
- gem.license = 'Artistic 2.0'
8
- gem.email = 'djberg96@gmail.com'
9
- gem.homepage = 'http://www.rubyforge.org/projects/win32utils'
10
- gem.platform = Gem::Platform::RUBY
11
- gem.summary = 'An interface to the MS SAPI (Sound API) library.'
12
- gem.test_file = 'test/test_win32_sapi5.rb'
13
- gem.has_rdoc = true
14
- gem.files = Dir['**/*'].reject{ |f| f.include?('CVS') }
15
-
16
- gem.rubyforge_project = 'win32utils'
17
- gem.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
18
-
19
- gem.description = <<-EOF
20
- The win32-sapi library provides an interface to the MS Windows sound
21
- interface, otherwise known as SAPI, using OLE.
22
- EOF
23
- end
24
-
25
- Gem::Builder.new(spec).build
1
+ require 'rubygems'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'win32-sapi'
5
+ spec.version = '0.1.6'
6
+ spec.author = 'Daniel J. Berger'
7
+ spec.license = 'Artistic 2.0'
8
+ spec.email = 'djberg96@gmail.com'
9
+ spec.homepage = 'http://www.rubyforge.org/projects/win32utils'
10
+ spec.platform = Gem::Platform::RUBY
11
+ spec.summary = 'An interface to the MS SAPI (Sound API) library.'
12
+ spec.test_file = 'test/test_win32_sapi5.rb'
13
+ spec.has_rdoc = true
14
+ spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
15
+
16
+ spec.rubyforge_project = 'win32utils'
17
+ spec.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
18
+
19
+ spec.add_development_dependency('windows-pr')
20
+
21
+ spec.description = <<-EOF
22
+ The win32-sapi library provides an interface to the MS Windows sound
23
+ interface, otherwise known as SAPI, using OLE.
24
+ EOF
25
+ end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: win32-sapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 6
10
+ version: 0.1.6
5
11
  platform: ruby
6
12
  authors:
7
13
  - Daniel J. Berger
@@ -9,11 +15,24 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-08-10 00:00:00 -06:00
18
+ date: 2011-01-17 00:00:00 -07:00
13
19
  default_executable:
14
- dependencies: []
15
-
16
- description: " The win32-sapi library provides an interface to the MS Windows sound\n interface, otherwise known as SAPI, using OLE.\n"
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: windows-pr
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ description: " The win32-sapi library provides an interface to the MS Windows sound\n interface, otherwise known as SAPI, using OLE.\n"
17
36
  email: djberg96@gmail.com
18
37
  executables: []
19
38
 
@@ -42,21 +61,27 @@ rdoc_options: []
42
61
  require_paths:
43
62
  - lib
44
63
  required_ruby_version: !ruby/object:Gem::Requirement
64
+ none: false
45
65
  requirements:
46
66
  - - ">="
47
67
  - !ruby/object:Gem::Version
68
+ hash: 3
69
+ segments:
70
+ - 0
48
71
  version: "0"
49
- version:
50
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
+ none: false
51
74
  requirements:
52
75
  - - ">="
53
76
  - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
54
80
  version: "0"
55
- version:
56
81
  requirements: []
57
82
 
58
83
  rubyforge_project: win32utils
59
- rubygems_version: 1.3.5
84
+ rubygems_version: 1.3.7
60
85
  signing_key:
61
86
  specification_version: 3
62
87
  summary: An interface to the MS SAPI (Sound API) library.