scissor 0.2.9 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ pkg
2
+ coverage
3
+ *.gem
4
+ vendor/bundle
5
+ .bundle
6
+ Gemfile.lock
data/Gemfile CHANGED
@@ -1,16 +1,3 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'open4', '>= 1.3.0'
4
- gem 'ruby-mp3info'
5
- gem 'riff', '<= 0.3.0'
6
- gem 'tempdir'
7
- gem 'streamio-ffmpeg'
8
-
9
- group :development do
10
- gem 'rspec', '~> 2.3.0'
11
- gem 'bundler', '~> 1.0.0'
12
- gem 'jeweler', '~> 1.6.4'
13
- gem 'rcov', '>= 0'
14
- gem 'rdoc'
15
- gem 'fakeweb'
16
- end
3
+ gemspec
data/Rakefile CHANGED
@@ -1,28 +1,6 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
1
+ #!/usr/bin/env rake
12
2
  require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "scissor"
18
- gem.summary = %Q{utility to chop sound files}
19
- gem.description = %Q{utility to chop sound files}
20
- gem.email = "youpy@buycheapviagraonlinenow.com"
21
- gem.authors = ["youpy"]
22
- gem.homepage = "http://github.com/youpy/scissor"
23
- # dependencies defined in Gemfile
24
- end
25
- Jeweler::RubygemsDotOrgTasks.new
3
+ require "bundler/gem_tasks"
26
4
 
27
5
  require 'rspec/core'
28
6
  require 'rspec/core/rake_task'
@@ -30,19 +8,4 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
30
8
  spec.pattern = FileList['spec/**/*_spec.rb']
31
9
  end
32
10
 
33
- RSpec::Core::RakeTask.new(:rcov) do |spec|
34
- spec.pattern = 'spec/**/*_spec.rb'
35
- spec.rcov = true
36
- end
37
-
38
11
  task :default => :spec
39
-
40
- require 'rdoc/task'
41
- Rake::RDocTask.new do |rdoc|
42
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
43
-
44
- rdoc.rdoc_dir = 'rdoc'
45
- rdoc.title = "scissor #{version}"
46
- rdoc.rdoc_files.include('README*')
47
- rdoc.rdoc_files.include('lib/**/*.rb')
48
- end
data/lib/scissor.rb CHANGED
@@ -17,7 +17,9 @@ require 'logger'
17
17
 
18
18
  module Scissor
19
19
  @logger = Logger.new(STDOUT)
20
- @logger.level = Logger::INFO
20
+ @logger.level = Logger::WARN
21
+
22
+ FFMPEG.logger = @logger
21
23
 
22
24
  class << self
23
25
  attr_accessor :logger
@@ -4,31 +4,66 @@ require 'riff/reader'
4
4
 
5
5
  module Scissor
6
6
  class SoundFile
7
- SUPPORTED_FORMATS = %w/mp3 wav/
7
+ class Mp3 < SoundFile
8
+ def length
9
+ info.length
10
+ end
11
+
12
+ def mono?
13
+ info.channel_mode == 'Single Channel'
14
+ end
15
+
16
+ private
17
+
18
+ def info
19
+ @info ||= Mp3Info.new(@filename.to_s)
20
+ end
21
+ end
22
+
23
+ class Wav < SoundFile
24
+ def length
25
+ data.length / fmt.body.unpack('s2i2')[3].to_f
26
+ end
27
+
28
+ def mono?
29
+ fmt.body.unpack('s2')[1] == 1
30
+ end
31
+
32
+ private
33
+
34
+ def riff
35
+ @riff ||= Riff::Reader.open(@filename ,"r")
36
+ end
37
+
38
+ def data
39
+ @data ||= riff.root_chunk['data']
40
+ end
41
+
42
+ def fmt
43
+ @fmt ||= riff.root_chunk['fmt ']
44
+ end
45
+ end
46
+
47
+ SUPPORTED_FORMATS = {
48
+ :mp3 => Mp3,
49
+ :wav => Wav
50
+ }
8
51
 
9
52
  class Error < StandardError; end
10
53
  class UnknownFormat < Error; end
11
54
 
12
- def initialize(filename)
13
- @filename = Pathname.new(filename)
14
- @ext = @filename.extname.sub(/^\./, '').downcase
55
+ def self.new_from_filename(filename)
56
+ ext = filename.extname.sub(/^\./, '').downcase
15
57
 
16
- unless SUPPORTED_FORMATS.include?(@ext)
58
+ unless klass = SUPPORTED_FORMATS[ext.to_sym]
17
59
  raise UnknownFormat
18
60
  end
19
- end
20
61
 
21
- def length
22
- case @ext
23
- when 'mp3'
24
- Mp3Info.new(@filename.to_s).length
25
- when 'wav'
26
- riff = Riff::Reader.open(@filename ,"r")
27
- data = riff.root_chunk['data']
28
- fmt = riff.root_chunk['fmt ']
62
+ klass.new(filename)
63
+ end
29
64
 
30
- data.length / fmt.body.unpack('s2i2')[3].to_f
31
- end
65
+ def initialize(filename)
66
+ @filename = Pathname.new(filename)
32
67
  end
33
68
  end
34
69
  end
data/lib/scissor/tape.rb CHANGED
@@ -17,7 +17,7 @@ module Scissor
17
17
  @fragments << Fragment.new(
18
18
  filename,
19
19
  0,
20
- SoundFile.new(filename).length)
20
+ SoundFile.new_from_filename(filename).length)
21
21
  end
22
22
  end
23
23
 
@@ -28,10 +28,13 @@ module Scissor
28
28
  def join_fragments(fragments, outfile, tmpdir)
29
29
  position = 0.0
30
30
  cmd = %w/ecasound/
31
+ is_mono = {}
31
32
 
32
33
  fragments.each_with_index do |fragment, index|
33
34
  fragment_filename = fragment.filename
34
35
 
36
+ is_mono[fragment_filename] ||= mono?(fragment_filename)
37
+
35
38
  if !index.zero? && (index % 28).zero?
36
39
  run_command(cmd.join(' '))
37
40
  cmd = %w/ecasound/
@@ -44,7 +47,7 @@ module Scissor
44
47
  movie.transcode(fragment_outfile.to_s, :audio_sample_rate => 44100)
45
48
  end
46
49
 
47
- cmd << "-a:#{index} -o:#{outfile} -y:#{position}"
50
+ cmd << "-a:#{index} -o:#{outfile} -y:#{position}#{is_mono[fragment_filename] ? ' -chcopy:1,2' : ''}"
48
51
 
49
52
  if fragment.stretched? && fragment.pitch.to_f != 100.0
50
53
  rubberband_out = tmpdir + (Digest::MD5.hexdigest(fragment_filename.to_s) + "rubberband_#{index}.wav")
@@ -147,5 +150,11 @@ module Scissor
147
150
 
148
151
  return result
149
152
  end
153
+
154
+ private
155
+
156
+ def mono?(filename)
157
+ SoundFile.new_from_filename(filename).mono?
158
+ end
150
159
  end
151
160
  end
data/scissor.gemspec CHANGED
@@ -1,42 +1,26 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- Gem::Specification.new do |s|
4
- s.name = %q{scissor}
5
- s.version = "0.0.24"
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ["youpy"]
5
+ gem.email = ["youpy@buycheapviagraonlinenow.com"]
6
+ gem.description = %q{utility to chop sound files}
7
+ gem.summary = %q{utility to chop sound files}
8
+ gem.homepage = %q{http://github.com/youpy/scissor}
9
+ gem.homepage = ""
6
10
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["youpy"]
9
- s.date = %q{2010-04-28}
10
- s.description = %q{utility to chop sound files}
11
- s.email = %q{youpy@buycheapviagraonlinenow.com}
12
- s.extra_rdoc_files = ["README.rdoc", "ChangeLog"]
13
- s.files = ["README.rdoc", "ChangeLog", "Rakefile", "lib/scissor", "lib/scissor/chunk.rb", "lib/scissor/fragment.rb", "lib/scissor/loggable.rb", "lib/scissor/sequence.rb", "lib/scissor/sound_file.rb", "lib/scissor/writer.rb", "lib/scissor.rb", "data/silence.mp3"]
14
- s.homepage = %q{http://github.com/youpy/scissor}
15
- s.rdoc_options = ["--title", "scissor documentation", "--charset", "utf-8", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source", "--exclude", "^(examples|extras)/"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{scissor}
18
- s.rubygems_version = %q{1.3.6}
19
- s.summary = %q{utility to chop sound files}
11
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
+ gem.files = `git ls-files`.split("\n")
13
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ gem.name = %q{scissor}
15
+ gem.require_paths = ["lib"]
16
+ gem.version = "0.3.0"
20
17
 
21
- if s.respond_to? :specification_version then
22
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
- s.specification_version = 3
24
-
25
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<open4>, [">= 0"])
27
- s.add_runtime_dependency(%q<ruby-mp3info>, [">= 0"])
28
- s.add_runtime_dependency(%q<riff>, [">= 0"])
29
- s.add_runtime_dependency(%q<tempdir>, [">= 0"])
30
- else
31
- s.add_dependency(%q<open4>, [">= 0"])
32
- s.add_dependency(%q<ruby-mp3info>, [">= 0"])
33
- s.add_dependency(%q<riff>, [">= 0"])
34
- s.add_dependency(%q<tempdir>, [">= 0"])
35
- end
36
- else
37
- s.add_dependency(%q<open4>, [">= 0"])
38
- s.add_dependency(%q<ruby-mp3info>, [">= 0"])
39
- s.add_dependency(%q<riff>, [">= 0"])
40
- s.add_dependency(%q<tempdir>, [">= 0"])
41
- end
18
+ gem.add_dependency('open4', '>= 1.3.0')
19
+ gem.add_dependency('ruby-mp3info')
20
+ gem.add_dependency('riff', '<= 0.3.0')
21
+ gem.add_dependency('tempdir')
22
+ gem.add_dependency('streamio-ffmpeg')
23
+ gem.add_development_dependency('rspec', ['~> 2.8.0'])
24
+ gem.add_development_dependency('rake')
25
+ gem.add_development_dependency('fakeweb')
42
26
  end
Binary file
data/spec/scissor_spec.rb CHANGED
@@ -8,8 +8,6 @@ include FileUtils
8
8
 
9
9
  describe Scissor do
10
10
  before do
11
- FFMPEG.logger.level = Logger::WARN
12
-
13
11
  @mp3 = Scissor(fixture('sample.mp3'))
14
12
  mkdir '/tmp/scissor-test'
15
13
 
@@ -20,6 +18,12 @@ describe Scissor do
20
18
  rm_rf '/tmp/scissor-test'
21
19
  end
22
20
 
21
+ it "should set default logger level to Logger::WARN" do
22
+ [Scissor, FFMPEG].each do |mod|
23
+ mod.logger.level.should eql(Logger::WARN)
24
+ end
25
+ end
26
+
23
27
  it "should create from url" do
24
28
  url = 'http://example.com/sample_mp3'
25
29
  FakeWeb.register_uri(:get, url, :body => fixture('sample.mp3'), :content_type => 'audio/mpeg')
@@ -7,8 +7,8 @@ include FileUtils
7
7
 
8
8
  describe Scissor::SoundFile do
9
9
  before do
10
- @mp3 = Scissor::SoundFile.new(fixture('sample.mp3'))
11
- @wav = Scissor::SoundFile.new(fixture('sine.wav'))
10
+ @mp3 = Scissor::SoundFile.new_from_filename(fixture('sample.mp3'))
11
+ @wav = Scissor::SoundFile.new_from_filename(fixture('sine.wav'))
12
12
  end
13
13
 
14
14
  after do
@@ -16,7 +16,7 @@ describe Scissor::SoundFile do
16
16
 
17
17
  it "raise error if unknown file format" do
18
18
  lambda {
19
- Scissor::SoundFile.new(fixture('foo.bar'))
19
+ Scissor::SoundFile.new_from_filename(fixture('foo.bar'))
20
20
  }.should raise_error(Scissor::SoundFile::UnknownFormat)
21
21
  end
22
22
 
@@ -24,4 +24,13 @@ describe Scissor::SoundFile do
24
24
  @mp3.length.should be_within(0.1).of(178.1)
25
25
  @wav.length.should eql(1.0)
26
26
  end
27
+
28
+ describe '#mono?' do
29
+ it "should return true if sound file is mono" do
30
+ @mp3.should be_mono
31
+ @wav.should_not be_mono
32
+
33
+ Scissor::SoundFile.new_from_filename(fixture('mono.wav')).should be_mono
34
+ end
35
+ end
27
36
  end
metadata CHANGED
@@ -1,213 +1,115 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: scissor
3
- version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 2
9
- - 9
10
- segments_generated: true
11
- version: 0.2.9
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ prerelease:
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - youpy
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2012-01-19 00:00:00 +09:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2012-06-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: open4
16
+ requirement: &70321600379940 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 27
29
- segments:
30
- - 1
31
- - 3
32
- - 0
33
- segments_generated: true
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.3.0
35
- requirement: *id001
36
22
  type: :runtime
37
- name: open4
38
23
  prerelease: false
39
- - !ruby/object:Gem::Dependency
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70321600379940
25
+ - !ruby/object:Gem::Dependency
26
+ name: ruby-mp3info
27
+ requirement: &70321600379320 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- segments_generated: true
49
- version: "0"
50
- requirement: *id002
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
51
33
  type: :runtime
52
- name: ruby-mp3info
53
34
  prerelease: false
54
- - !ruby/object:Gem::Dependency
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70321600379320
36
+ - !ruby/object:Gem::Dependency
37
+ name: riff
38
+ requirement: &70321600378660 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
40
+ requirements:
58
41
  - - <=
59
- - !ruby/object:Gem::Version
60
- hash: 19
61
- segments:
62
- - 0
63
- - 3
64
- - 0
65
- segments_generated: true
42
+ - !ruby/object:Gem::Version
66
43
  version: 0.3.0
67
- requirement: *id003
68
44
  type: :runtime
69
- name: riff
70
45
  prerelease: false
71
- - !ruby/object:Gem::Dependency
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *70321600378660
47
+ - !ruby/object:Gem::Dependency
48
+ name: tempdir
49
+ requirement: &70321600378140 !ruby/object:Gem::Requirement
73
50
  none: false
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- hash: 3
78
- segments:
79
- - 0
80
- segments_generated: true
81
- version: "0"
82
- requirement: *id004
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
83
55
  type: :runtime
84
- name: tempdir
85
56
  prerelease: false
86
- - !ruby/object:Gem::Dependency
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *70321600378140
58
+ - !ruby/object:Gem::Dependency
59
+ name: streamio-ffmpeg
60
+ requirement: &70321600221860 !ruby/object:Gem::Requirement
88
61
  none: false
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 0
95
- segments_generated: true
96
- version: "0"
97
- requirement: *id005
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
98
66
  type: :runtime
99
- name: streamio-ffmpeg
100
67
  prerelease: false
101
- - !ruby/object:Gem::Dependency
102
- version_requirements: &id006 !ruby/object:Gem::Requirement
103
- none: false
104
- requirements:
105
- - - ~>
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 2
110
- - 3
111
- - 0
112
- segments_generated: true
113
- version: 2.3.0
114
- requirement: *id006
115
- type: :development
68
+ version_requirements: *70321600221860
69
+ - !ruby/object:Gem::Dependency
116
70
  name: rspec
117
- prerelease: false
118
- - !ruby/object:Gem::Dependency
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
71
+ requirement: &70321600220380 !ruby/object:Gem::Requirement
120
72
  none: false
121
- requirements:
73
+ requirements:
122
74
  - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 23
125
- segments:
126
- - 1
127
- - 0
128
- - 0
129
- segments_generated: true
130
- version: 1.0.0
131
- requirement: *id007
75
+ - !ruby/object:Gem::Version
76
+ version: 2.8.0
132
77
  type: :development
133
- name: bundler
134
78
  prerelease: false
135
- - !ruby/object:Gem::Dependency
136
- version_requirements: &id008 !ruby/object:Gem::Requirement
79
+ version_requirements: *70321600220380
80
+ - !ruby/object:Gem::Dependency
81
+ name: rake
82
+ requirement: &70321600219080 !ruby/object:Gem::Requirement
137
83
  none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- hash: 7
142
- segments:
143
- - 1
144
- - 6
145
- - 4
146
- segments_generated: true
147
- version: 1.6.4
148
- requirement: *id008
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
149
88
  type: :development
150
- name: jeweler
151
89
  prerelease: false
152
- - !ruby/object:Gem::Dependency
153
- version_requirements: &id009 !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- hash: 3
159
- segments:
160
- - 0
161
- segments_generated: true
162
- version: "0"
163
- requirement: *id009
164
- type: :development
165
- name: rcov
166
- prerelease: false
167
- - !ruby/object:Gem::Dependency
168
- version_requirements: &id010 !ruby/object:Gem::Requirement
90
+ version_requirements: *70321600219080
91
+ - !ruby/object:Gem::Dependency
92
+ name: fakeweb
93
+ requirement: &70321600217900 !ruby/object:Gem::Requirement
169
94
  none: false
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- hash: 3
174
- segments:
175
- - 0
176
- segments_generated: true
177
- version: "0"
178
- requirement: *id010
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
179
99
  type: :development
180
- name: rdoc
181
- prerelease: false
182
- - !ruby/object:Gem::Dependency
183
- version_requirements: &id011 !ruby/object:Gem::Requirement
184
- none: false
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 3
189
- segments:
190
- - 0
191
- segments_generated: true
192
- version: "0"
193
- requirement: *id011
194
- type: :development
195
- name: fakeweb
196
100
  prerelease: false
101
+ version_requirements: *70321600217900
197
102
  description: utility to chop sound files
198
- email: youpy@buycheapviagraonlinenow.com
103
+ email:
104
+ - youpy@buycheapviagraonlinenow.com
199
105
  executables: []
200
-
201
106
  extensions: []
202
-
203
- extra_rdoc_files:
204
- - ChangeLog
205
- - README.rdoc
206
- files:
107
+ extra_rdoc_files: []
108
+ files:
109
+ - .gitignore
207
110
  - .rspec
208
111
  - ChangeLog
209
112
  - Gemfile
210
- - Gemfile.lock
211
113
  - README.rdoc
212
114
  - Rakefile
213
115
  - VERSION
@@ -222,6 +124,7 @@ files:
222
124
  - scissor.gemspec
223
125
  - spec/fixtures/about_mp3.txt
224
126
  - spec/fixtures/foo.bar
127
+ - spec/fixtures/mono.wav
225
128
  - spec/fixtures/sample.mp3
226
129
  - spec/fixtures/sine.wav
227
130
  - spec/fragment_spec.rb
@@ -229,41 +132,44 @@ files:
229
132
  - spec/sequence_spec.rb
230
133
  - spec/sound_file_spec.rb
231
134
  - spec/spec_helper.rb
232
- has_rdoc: true
233
- homepage: http://github.com/youpy/scissor
135
+ homepage: ''
234
136
  licenses: []
235
-
236
137
  post_install_message:
237
138
  rdoc_options: []
238
-
239
- require_paths:
139
+ require_paths:
240
140
  - lib
241
- required_ruby_version: !ruby/object:Gem::Requirement
141
+ required_ruby_version: !ruby/object:Gem::Requirement
242
142
  none: false
243
- requirements:
244
- - - ">="
245
- - !ruby/object:Gem::Version
246
- hash: 3
247
- segments:
143
+ requirements:
144
+ - - ! '>='
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ segments:
248
148
  - 0
249
- segments_generated: true
250
- version: "0"
251
- required_rubygems_version: !ruby/object:Gem::Requirement
149
+ hash: 1882453864553140725
150
+ required_rubygems_version: !ruby/object:Gem::Requirement
252
151
  none: false
253
- requirements:
254
- - - ">="
255
- - !ruby/object:Gem::Version
256
- hash: 3
257
- segments:
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ segments:
258
157
  - 0
259
- segments_generated: true
260
- version: "0"
158
+ hash: 1882453864553140725
261
159
  requirements: []
262
-
263
160
  rubyforge_project:
264
- rubygems_version: 1.3.7
161
+ rubygems_version: 1.8.10
265
162
  signing_key:
266
163
  specification_version: 3
267
164
  summary: utility to chop sound files
268
- test_files: []
269
-
165
+ test_files:
166
+ - spec/fixtures/about_mp3.txt
167
+ - spec/fixtures/foo.bar
168
+ - spec/fixtures/mono.wav
169
+ - spec/fixtures/sample.mp3
170
+ - spec/fixtures/sine.wav
171
+ - spec/fragment_spec.rb
172
+ - spec/scissor_spec.rb
173
+ - spec/sequence_spec.rb
174
+ - spec/sound_file_spec.rb
175
+ - spec/spec_helper.rb
data/Gemfile.lock DELETED
@@ -1,44 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- diff-lcs (1.1.3)
5
- fakeweb (1.3.0)
6
- git (1.2.5)
7
- jeweler (1.6.4)
8
- bundler (~> 1.0)
9
- git (>= 1.2.5)
10
- rake
11
- json (1.6.5)
12
- open4 (1.3.0)
13
- rake (0.9.2.2)
14
- rcov (0.9.11)
15
- rdoc (3.12)
16
- json (~> 1.4)
17
- riff (0.3)
18
- rspec (2.3.0)
19
- rspec-core (~> 2.3.0)
20
- rspec-expectations (~> 2.3.0)
21
- rspec-mocks (~> 2.3.0)
22
- rspec-core (2.3.1)
23
- rspec-expectations (2.3.0)
24
- diff-lcs (~> 1.1.2)
25
- rspec-mocks (2.3.0)
26
- ruby-mp3info (0.6.16)
27
- streamio-ffmpeg (0.8.4)
28
- tempdir (0.0.1)
29
-
30
- PLATFORMS
31
- ruby
32
-
33
- DEPENDENCIES
34
- bundler (~> 1.0.0)
35
- fakeweb
36
- jeweler (~> 1.6.4)
37
- open4 (>= 1.3.0)
38
- rcov
39
- rdoc
40
- riff (<= 0.3.0)
41
- rspec (~> 2.3.0)
42
- ruby-mp3info
43
- streamio-ffmpeg
44
- tempdir