tsunami 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/zmack/tsunami"
12
12
  gem.authors = ["Andrei Bocan"]
13
13
  gem.add_dependency "rmagick", ">= 0"
14
- gem.add_dependency "ruby-audio", ">= 0"
14
+ gem.add_dependency "ruby-audio", ">= 1.0.0"
15
15
  gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
16
16
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
17
17
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
data/lib/buffer_ext.rb ADDED
@@ -0,0 +1,15 @@
1
+ unless RubyAudio::Buffer.included_modules.include? Enumerable
2
+
3
+ module RubyAudio
4
+ class Buffer
5
+ include Enumerable
6
+
7
+ def each
8
+ self.size.times do |i|
9
+ yield self[i]
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ end
data/lib/tsunami.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  #this class was inspired by rjp's awesome http://github.com/rjp/cdcover
2
2
  require 'rubygems'
3
3
  require 'RMagick'
4
- require 'audio/sndfile'
4
+ require 'ruby-audio'
5
+ require 'buffer_ext.rb'
5
6
 
6
7
  class Tsunami
7
8
 
8
9
  def initialize audio_file
9
- @audio_file = Audio::Soundfile.new audio_file
10
+ @audio_file = RubyAudio::Sound.new audio_file
10
11
  end
11
12
 
12
13
  def create_waveform(image_file, options = {})
@@ -26,12 +27,18 @@ class Tsunami
26
27
 
27
28
  def fill_buckets
28
29
  @audio_file.seek(0,0)
29
- frames = @audio_file.read_float(@audio_file.frames).channel(0)
30
+ frames = @audio_file.read("float", @audio_file.info.frames)
30
31
  buckets = []
31
32
  frame_index = 0
32
- frames_per_pixel = frames.length / @width
33
+ frames_per_pixel = frames.size / @width
34
+
35
+ frames.each do |channel_frames|
36
+ if @audio_file.info.channels > 1
37
+ frame = channel_frames[0]
38
+ else
39
+ frame = channel_frames
40
+ end
33
41
 
34
- frames.each do |frame|
35
42
  index = frame_index / frames_per_pixel
36
43
  buckets[index] ||= { :max => -1, :min => 1 }
37
44
 
data/tsunami.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tsunami}
8
- s.version = "0.1.1"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrei Bocan"]
12
- s.date = %q{2010-03-24}
12
+ s.date = %q{2010-03-25}
13
13
  s.description = %q{For reals, it draws waveforms, man}
14
14
  s.email = %q{zmaxor@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  "README.rdoc",
24
24
  "Rakefile",
25
25
  "VERSION",
26
+ "lib/buffer_ext.rb",
26
27
  "lib/tsunami.rb",
27
28
  "test/helper.rb",
28
29
  "test/test_tsunami.rb",
@@ -44,16 +45,16 @@ Gem::Specification.new do |s|
44
45
 
45
46
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
46
47
  s.add_runtime_dependency(%q<rmagick>, [">= 0"])
47
- s.add_runtime_dependency(%q<ruby-audio>, [">= 0"])
48
+ s.add_runtime_dependency(%q<ruby-audio>, [">= 1.0.0"])
48
49
  s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
49
50
  else
50
51
  s.add_dependency(%q<rmagick>, [">= 0"])
51
- s.add_dependency(%q<ruby-audio>, [">= 0"])
52
+ s.add_dependency(%q<ruby-audio>, [">= 1.0.0"])
52
53
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
53
54
  end
54
55
  else
55
56
  s.add_dependency(%q<rmagick>, [">= 0"])
56
- s.add_dependency(%q<ruby-audio>, [">= 0"])
57
+ s.add_dependency(%q<ruby-audio>, [">= 1.0.0"])
57
58
  s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
58
59
  end
59
60
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tsunami
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Bocan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-24 00:00:00 +02:00
12
+ date: 2010-03-25 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: "0"
33
+ version: 1.0.0
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: thoughtbot-shoulda
@@ -58,6 +58,7 @@ files:
58
58
  - README.rdoc
59
59
  - Rakefile
60
60
  - VERSION
61
+ - lib/buffer_ext.rb
61
62
  - lib/tsunami.rb
62
63
  - test/helper.rb
63
64
  - test/test_tsunami.rb