scissor 0.2.9 → 0.3.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/.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