tsunami 0.1.1 → 0.2.0
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/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/buffer_ext.rb +15 -0
- data/lib/tsunami.rb +12 -5
- data/tsunami.gemspec +6 -5
- metadata +4 -3
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
|
+
0.2.0
|
data/lib/buffer_ext.rb
ADDED
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
|
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 =
|
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.
|
30
|
+
frames = @audio_file.read("float", @audio_file.info.frames)
|
30
31
|
buckets = []
|
31
32
|
frame_index = 0
|
32
|
-
frames_per_pixel = frames.
|
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.
|
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-
|
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.
|
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-
|
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:
|
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
|