hornetseye-alsa 0.3.5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -8,10 +8,11 @@ hornetseye-alsa
8
8
  Synopsis
9
9
  --------
10
10
 
11
- This Ruby extension provides an interface for playing audio data using the Advanced Linux Sound Architecture (ALSA).
11
+ This Ruby extension provides an interface for playing and recording audio data using the Advanced Linux Sound Architecture (ALSA).
12
12
 
13
13
  Installation
14
14
  ------------
15
+
15
16
  *hornetseye-alsa* requires the ALSA library. If you are running Debian or (K)ubuntu, you can install it like this:
16
17
 
17
18
  $ sudo aptitude install libasound2-dev
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ require 'rake/loaders/makefile'
7
7
  require 'rbconfig'
8
8
 
9
9
  PKG_NAME = 'hornetseye-alsa'
10
- PKG_VERSION = '0.3.5'
10
+ PKG_VERSION = '0.4.0'
11
11
  CFG = RbConfig::CONFIG
12
12
  CXX = ENV[ 'CXX' ] || 'g++'
13
13
  RB_FILES = FileList[ 'lib/**/*.rb' ]
@@ -81,8 +81,7 @@ end
81
81
  begin
82
82
  require 'yard'
83
83
  YARD::Rake::YardocTask.new :yard do |y|
84
- y.options << '--no-private'
85
- y.files << FileList[ 'lib/**/*.rb' ]
84
+ y.files << RB_FILES
86
85
  end
87
86
  rescue LoadError
88
87
  STDERR.puts 'Please install \'yard\' if you want to generate documentation'
@@ -115,7 +114,7 @@ begin
115
114
  s.extra_rdoc_files = []
116
115
  s.rdoc_options = %w{--no-private}
117
116
  s.add_dependency %<malloc>, [ '~> 1.2' ]
118
- s.add_dependency %<multiarray>, [ '~> 0.11' ]
117
+ s.add_dependency %<multiarray>, [ '~> 0.23' ]
119
118
  s.add_development_dependency %q{rake}
120
119
  end
121
120
  GEM_SOURCE = "#{PKG_NAME}-#{PKG_VERSION}.gem"
@@ -137,7 +136,7 @@ begin
137
136
  s.extra_rdoc_files = []
138
137
  s.rdoc_options = %w{--no-private}
139
138
  s.add_dependency %<malloc>, [ '~> 1.2' ]
140
- s.add_dependency %<multiarray>, [ '~> 0.11' ]
139
+ s.add_dependency %<multiarray>, [ '~> 0.23' ]
141
140
  end
142
141
  GEM_BINARY = "#{PKG_NAME}-#{PKG_VERSION}-#{$BINSPEC.platform}.gem"
143
142
  desc "Build the gem file #{GEM_SOURCE}"
data/ext/init.cc CHANGED
@@ -30,7 +30,7 @@ extern "C" {
30
30
 
31
31
  void Init_hornetseye_alsa(void)
32
32
  {
33
- rb_require( "multiarray" );
33
+ rb_eval_string( "require 'multiarray'" );
34
34
  VALUE rbHornetseye = rb_define_module( "Hornetseye" );
35
35
  AlsaOutput::registerRubyClass( rbHornetseye );
36
36
  AlsaInput::registerRubyClass( rbHornetseye );
@@ -50,7 +50,7 @@ module Hornetseye
50
50
  # @return [AlsaInput] An object for accessing the microphone.
51
51
  #
52
52
  # @see #rate
53
- def new( pcm_name = 'default:0', rate = 48000, channels = 2, periods = 16,
53
+ def new( pcm_name = 'default:0', rate = 48000, channels = 2, periods = 8,
54
54
  frames = 1024 )
55
55
  orig_new pcm_name, rate, channels, periods, frames
56
56
  end
@@ -79,9 +79,8 @@ module Hornetseye
79
79
  #
80
80
  # @param [Integer] samples Number of samples to read.
81
81
  # @return [Node] A two-dimensional array with short-integer audio samples.
82
- def read( samples )
83
- Hornetseye::MultiArray( SINT, channels, samples ).
84
- new orig_read( samples ).memory
82
+ def read(samples)
83
+ MultiArray.import SINT, orig_read(samples).memory, channels, samples
85
84
  end
86
85
 
87
86
  end
@@ -50,7 +50,7 @@ module Hornetseye
50
50
  # @return [AlsaOutput] An object for accessing the speakers.
51
51
  #
52
52
  # @see #rate
53
- def new( pcm_name = 'default:0', rate = 48000, channels = 2, periods = 16,
53
+ def new( pcm_name = 'default:0', rate = 48000, channels = 2, periods = 8,
54
54
  frames = 1024 )
55
55
  orig_new pcm_name, rate, channels, periods, frames
56
56
  end
@@ -94,7 +94,7 @@ module Hornetseye
94
94
  raise "Audio frame must have #{channels} channel(s) but had " +
95
95
  "#{frame.shape.first}"
96
96
  end
97
- orig_write Hornetseye::Sequence( UBYTE, 2 * frame.size ).new( frame.memory )
97
+ orig_write Hornetseye::Sequence(UBYTE).new 2 * frame.size, :memory => frame.memory
98
98
  frame
99
99
  end
100
100
 
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 3
8
- - 5
9
- version: 0.3.5
7
+ - 4
8
+ - 0
9
+ version: 0.4.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Jan Wedekind
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-11-18 00:00:00 +00:00
17
+ date: 2011-06-29 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -41,8 +41,8 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  segments:
43
43
  - 0
44
- - 11
45
- version: "0.11"
44
+ - 23
45
+ version: "0.23"
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency
@@ -71,19 +71,19 @@ files:
71
71
  - README.md
72
72
  - COPYING
73
73
  - .document
74
+ - lib/hornetseye_alsa_ext.rb
74
75
  - lib/hornetseye-alsa/alsainput.rb
75
- - lib/hornetseye-alsa/docs.rb
76
76
  - lib/hornetseye-alsa/alsaoutput.rb
77
- - lib/hornetseye_alsa_ext.rb
78
- - ext/alsainput.cc
79
- - ext/init.cc
77
+ - lib/hornetseye-alsa/docs.rb
80
78
  - ext/sequence.cc
79
+ - ext/init.cc
80
+ - ext/alsainput.cc
81
81
  - ext/alsaoutput.cc
82
82
  - ext/sequence.hh
83
83
  - ext/alsainput.hh
84
- - ext/rubyinc.hh
85
- - ext/error.hh
86
84
  - ext/alsaoutput.hh
85
+ - ext/error.hh
86
+ - ext/rubyinc.hh
87
87
  has_rdoc: yard
88
88
  homepage: http://wedesoft.github.com/hornetseye-alsa/
89
89
  licenses: []