flac2mp3 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/bin/flac2mp3 +2 -0
- data/lib/flac2mp3.rb +10 -1
- data/lib/flac2mp3/version.rb +1 -1
- data/spec/flac2mp3_command_spec.rb +15 -0
- data/spec/flac2mp3_spec.rb +26 -2
- metadata +12 -2
data/History.txt
CHANGED
data/bin/flac2mp3
CHANGED
@@ -31,6 +31,8 @@ BANNER
|
|
31
31
|
"Delete the original file after conversion") { |delete| OPTIONS[:delete] = delete }
|
32
32
|
opts.on('-s', '--silent',
|
33
33
|
"Don't show progress") { |silent| OPTIONS[:silent] = silent }
|
34
|
+
opts.on('-e', '--encoding=ENCODING', String,
|
35
|
+
"Set lame encoding options", "Default: --preset standard") { |encoding| OPTIONS[:encoding] = encoding }
|
34
36
|
opts.on('-h', '--help',
|
35
37
|
'Show this help message.') { puts opts; exit }
|
36
38
|
opts.parse!(ARGV)
|
data/lib/flac2mp3.rb
CHANGED
@@ -13,8 +13,10 @@ module Flac2mp3
|
|
13
13
|
|
14
14
|
commands = { :flac => 'flac', :mp3 => 'lame' }
|
15
15
|
commands.each { |k, v| v << ' --silent' } if options[:silent]
|
16
|
+
encoding = options[:encoding]
|
17
|
+
encoding = default_encoding if encoding.to_s.strip.empty?
|
16
18
|
|
17
|
-
system "#{commands[:flac]} --stdout --decode #{filename.safequote} | #{commands[:mp3]}
|
19
|
+
system "#{commands[:flac]} --stdout --decode #{filename.safequote} | #{commands[:mp3]} #{encoding} - #{out_filename.safequote}"
|
18
20
|
|
19
21
|
mp3data(out_filename, flacdata(filename))
|
20
22
|
|
@@ -100,5 +102,12 @@ module Flac2mp3
|
|
100
102
|
end
|
101
103
|
mp3_tags
|
102
104
|
end
|
105
|
+
|
106
|
+
|
107
|
+
private
|
108
|
+
|
109
|
+
def default_encoding
|
110
|
+
'--preset standard'
|
111
|
+
end
|
103
112
|
end
|
104
113
|
end
|
data/lib/flac2mp3/version.rb
CHANGED
@@ -76,4 +76,19 @@ describe 'flac2mp3 command' do
|
|
76
76
|
Flac2mp3.expects(:convert).with(anything, has_entry(:silent => false))
|
77
77
|
run_command('blah')
|
78
78
|
end
|
79
|
+
|
80
|
+
it 'should pass on the encoding option specified on the command line' do
|
81
|
+
Flac2mp3.expects(:convert).with(anything, has_entry(:encoding => '--preset fast standard'))
|
82
|
+
run_command('blah', '--encoding', '--preset fast standard')
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'should pass on the encoding option specified in shorthand on the command line' do
|
86
|
+
Flac2mp3.expects(:convert).with(anything, has_entry(:encoding => '--preset fast standard'))
|
87
|
+
run_command('blah', '-e', '--preset fast standard')
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'should pass on no encoding option if none specified on the command line' do
|
91
|
+
Flac2mp3.expects(:convert).with(anything, Not(has_key(:encoding)))
|
92
|
+
run_command('blah')
|
93
|
+
end
|
79
94
|
end
|
data/spec/flac2mp3_spec.rb
CHANGED
@@ -91,7 +91,7 @@ describe Flac2mp3, 'when converting and given a filename belonging to a regular
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it 'should accept an option to delete the flac' do
|
94
|
-
lambda { Flac2mp3.convert(
|
94
|
+
lambda { Flac2mp3.convert(@filename, :delete => true) }.should_not raise_error(ArgumentError)
|
95
95
|
end
|
96
96
|
|
97
97
|
it 'should delete the original file if given a true value for the option' do
|
@@ -110,7 +110,7 @@ describe Flac2mp3, 'when converting and given a filename belonging to a regular
|
|
110
110
|
end
|
111
111
|
|
112
112
|
it 'should accept an option to run silently' do
|
113
|
-
lambda { Flac2mp3.convert(
|
113
|
+
lambda { Flac2mp3.convert(@filename, :silent => true) }.should_not raise_error(ArgumentError)
|
114
114
|
end
|
115
115
|
|
116
116
|
it 'should tell the system commands to be silent if given a true value for the option' do
|
@@ -127,6 +127,30 @@ describe Flac2mp3, 'when converting and given a filename belonging to a regular
|
|
127
127
|
Flac2mp3.expects(:system).with("flac --stdout --decode #{@filename.safequote} | lame --preset standard - #{@output_filename.safequote}")
|
128
128
|
Flac2mp3.convert(@filename)
|
129
129
|
end
|
130
|
+
|
131
|
+
it 'should accept an option for encoding options' do
|
132
|
+
lambda { Flac2mp3.convert(@filename, :encoding => '--preset fast standard') }.should_not raise_error(ArgumentError)
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'should use the encoding options if given' do
|
136
|
+
Flac2mp3.expects(:system).with("flac --stdout --decode #{@filename.safequote} | lame --vbr-new -V2 -h - #{@output_filename.safequote}")
|
137
|
+
Flac2mp3.convert(@filename, :encoding => '--vbr-new -V2 -h')
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'should default the encoding to --preset standard if no encoding options given' do
|
141
|
+
Flac2mp3.expects(:system).with("flac --stdout --decode #{@filename.safequote} | lame --preset standard - #{@output_filename.safequote}")
|
142
|
+
Flac2mp3.convert(@filename)
|
143
|
+
end
|
144
|
+
|
145
|
+
it 'should default the encoding to --preset standard if nil encoding options given' do
|
146
|
+
Flac2mp3.expects(:system).with("flac --stdout --decode #{@filename.safequote} | lame --preset standard - #{@output_filename.safequote}")
|
147
|
+
Flac2mp3.convert(@filename, :encoding => nil)
|
148
|
+
end
|
149
|
+
|
150
|
+
it 'should default the encoding to --preset standard if blank encoding options given' do
|
151
|
+
Flac2mp3.expects(:system).with("flac --stdout --decode #{@filename.safequote} | lame --preset standard - #{@output_filename.safequote}")
|
152
|
+
Flac2mp3.convert(@filename, :encoding => ' ')
|
153
|
+
end
|
130
154
|
end
|
131
155
|
|
132
156
|
describe Flac2mp3, 'when converting and given a filename not belonging to a regular file' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flac2mp3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yossef Mendelssohn
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-07-21 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -32,6 +32,16 @@ dependencies:
|
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 0.5.1
|
34
34
|
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: hoe
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.7.0
|
44
|
+
version:
|
35
45
|
description: description of gem
|
36
46
|
email: ymendel@pobox.com
|
37
47
|
executables:
|