albanpeignier-alsa-backup 0.0.3 → 0.0.4

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/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ == 0.0.4
2
+
3
+ * Replace :int by :off_t in Sndfile#write_int prototype
4
+ * Add logger in Sndfile
5
+ * Use a 500ms buffer in ALSA::Capture#read
6
+ * Add daemons in gem dependencies
7
+
1
8
  == 0.0.3
2
9
 
3
10
  * Support --background to daemonize process
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ $hoe = Hoe.new('alsa-backup', AlsaBackup::VERSION) do |p|
9
9
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
10
10
  p.rubyforge_name = p.name # TODO this is default value
11
11
  p.extra_deps = [
12
- ['ffi','>= 0.3.5'], ['newgem', ">= #{::Newgem::VERSION}"]
12
+ ['ffi','>= 0.3.5'], [ 'newgem', ">= #{::Newgem::VERSION}" ], [ 'daemons', '>= 1.0.10' ]
13
13
  ]
14
14
  p.extra_dev_deps = [
15
15
  ['newgem', ">= #{::Newgem::VERSION}"]
@@ -28,7 +28,7 @@ task :default => :spec
28
28
 
29
29
  namespace :gems do
30
30
  task :install do
31
- gems = %w{activesupport ffi rspec}
31
+ gems = %w{activesupport ffi rspec daemons}
32
32
  sh "sudo gem install #{gems.join(' ')}"
33
33
  end
34
34
  end
data/alsa-backup.gemspec CHANGED
@@ -2,23 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{alsa-backup}
5
- s.version = "0.0.3"
5
+ s.version = "0.0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Alban Peignier"]
9
- s.date = %q{2009-05-21}
9
+ s.date = %q{2009-05-22}
10
10
  s.default_executable = %q{alsa.backup}
11
11
  s.description = %q{ALSA client to perform continuous recording}
12
12
  s.email = ["alban.peignier@free.fr"]
13
13
  s.executables = ["alsa.backup"]
14
14
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
15
15
  s.files = [".autotest", "History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "TODO", "alsa-backup.gemspec", "bin/alsa.backup", "config.sample", "lib/alsa.rb", "lib/alsa_backup.rb", "lib/alsa_backup/cli.rb", "lib/alsa_backup/core_ext.rb", "lib/alsa_backup/length_controller.rb", "lib/alsa_backup/recorder.rb", "lib/alsa_backup/writer.rb", "lib/sndfile.rb", "script/console", "script/destroy", "script/generate", "spec/alsa/pcm_spec.rb", "spec/alsa_backup/cli_spec.rb", "spec/alsa_backup/core_ext_spec.rb", "spec/alsa_backup/recorder_spec.rb", "spec/alsa_backup/writer_spec.rb", "spec/alsa_backup_spec.rb", "spec/fixtures/config_test.rb", "spec/sndfile/info_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
16
- s.has_rdoc = true
17
16
  s.homepage = %q{http://github.com/alban.peignier/alsa-backup}
18
17
  s.rdoc_options = ["--main", "README.rdoc"]
19
18
  s.require_paths = ["lib"]
20
19
  s.rubyforge_project = %q{alsa-backup}
21
- s.rubygems_version = %q{1.3.2}
20
+ s.rubygems_version = %q{1.3.3}
22
21
  s.summary = %q{ALSA client to perform continuous recording}
23
22
 
24
23
  if s.respond_to? :specification_version then
@@ -28,17 +27,20 @@ Gem::Specification.new do |s|
28
27
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
28
  s.add_runtime_dependency(%q<ffi>, [">= 0.3.5"])
30
29
  s.add_runtime_dependency(%q<newgem>, [">= 1.4.1"])
30
+ s.add_runtime_dependency(%q<daemons>, [">= 1.0.10"])
31
31
  s.add_development_dependency(%q<newgem>, [">= 1.4.1"])
32
32
  s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
33
33
  else
34
34
  s.add_dependency(%q<ffi>, [">= 0.3.5"])
35
35
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
36
+ s.add_dependency(%q<daemons>, [">= 1.0.10"])
36
37
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
37
38
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
38
39
  end
39
40
  else
40
41
  s.add_dependency(%q<ffi>, [">= 0.3.5"])
41
42
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
43
+ s.add_dependency(%q<daemons>, [">= 1.0.10"])
42
44
  s.add_dependency(%q<newgem>, [">= 1.4.1"])
43
45
  s.add_dependency(%q<hoe>, [">= 1.8.0"])
44
46
  end
data/lib/alsa.rb CHANGED
@@ -91,7 +91,10 @@ module ALSA
91
91
  end
92
92
 
93
93
  def read
94
- frame_count = hw_params.sample_rate / 2
94
+ ALSA.logger.debug('alsa') { "start read with #{hw_params.sample_rate}, #{hw_params.channels} channels"}
95
+
96
+ # use an 500ms buffer
97
+ frame_count = hw_params.sample_rate / 2 * hw_params.channels
95
98
 
96
99
  FFI::MemoryPointer.new(:char, hw_params.buffer_size_for(frame_count)) do |buffer|
97
100
  begin
data/lib/alsa_backup.rb CHANGED
@@ -10,7 +10,7 @@ require 'activesupport'
10
10
  require 'logger'
11
11
 
12
12
  module AlsaBackup
13
- VERSION = '0.0.3'
13
+ VERSION = '0.0.4'
14
14
 
15
15
  def self.recorder
16
16
  @recorder ||= AlsaBackup::Recorder.new
data/lib/sndfile.rb CHANGED
@@ -1,8 +1,21 @@
1
1
  require 'rubygems'
2
2
  require 'ffi'
3
3
 
4
+ require 'logger'
5
+
4
6
  module Sndfile
5
7
 
8
+ def self.logger
9
+ unless @logger
10
+ @logger = Logger.new(STDERR)
11
+ @logger.level = Logger::WARN
12
+ end
13
+
14
+ @logger
15
+ end
16
+
17
+ def self.logger=(logger); @logger = logger; end
18
+
6
19
  class File
7
20
 
8
21
  attr_reader :path
@@ -27,7 +40,10 @@ module Sndfile
27
40
  end
28
41
 
29
42
  def write(buffer, frame_count)
30
- unless Sndfile::Native::write_int(@handle, buffer, frame_count) == frame_count
43
+ ALSA.logger.debug('sndfile') { "write #{frame_count} frames in #{path}"}
44
+ write_count = Sndfile::Native::write_int(@handle, buffer, frame_count)
45
+
46
+ unless write_count == frame_count
31
47
  raise self.error
32
48
  end
33
49
  end
@@ -114,7 +130,9 @@ module Sndfile
114
130
  attach_function :open, :sf_open, [ :string, :int, :pointer ], :pointer
115
131
  attach_function :close, :sf_close, [ :pointer ], :int
116
132
 
117
- attach_function :write_int, :sf_write_int, [ :pointer, :pointer, :int ], :int
133
+ # TODO off_t won't work on windows
134
+ attach_function :write_int, :sf_write_int, [ :pointer, :pointer, :off_t ], :off_t
135
+
118
136
 
119
137
  attach_function :strerror, :sf_strerror, [ :pointer ], :string
120
138
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: albanpeignier-alsa-backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alban Peignier
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-21 00:00:00 -07:00
12
+ date: 2009-05-22 00:00:00 -07:00
13
13
  default_executable: alsa.backup
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -32,6 +32,16 @@ dependencies:
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.4.1
34
34
  version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: daemons
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.10
44
+ version:
35
45
  - !ruby/object:Gem::Dependency
36
46
  name: newgem
37
47
  type: :development
@@ -97,7 +107,7 @@ files:
97
107
  - spec/spec.opts
98
108
  - spec/spec_helper.rb
99
109
  - tasks/rspec.rake
100
- has_rdoc: true
110
+ has_rdoc: false
101
111
  homepage: http://github.com/alban.peignier/alsa-backup
102
112
  post_install_message:
103
113
  rdoc_options: