6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/autogg/parser.rb', line 6
def self.parse(args)
script_name = File.basename( $0 )
options = OpenStruct.new
options.max_procs = 4
options.oggargs = ['-Q']
op = OptionParser.new do |opts|
opts.banner = "Usage: autogg.rb [options] flacpath oggpath [ -o oggenc args ... ]\n" +
"Example: #{script_name} ~/music/flac/ ~/music/ogg/ --oggenc-args -q8\n" +
" Ex2: #{script_name} ~/music/flac/ ~/music/ogg/ -o -q8,-Q,--utf8"
opts.on( '-m', '--max-processes n', "Maximum number of encoding processes running at once" ) do |n|
options.max_procs = n.to_i
end
opts.on( '-o', '--oggenc-args arglist', Array,
"Specify arguments to me be passed through to oggenc" ) do |ary|
options.oggargs << ary
options.oggargs.flatten!
end
opts.on( '-h', '--help', 'Display this screen' ) do
puts opts
puts dirinfo
exit
end
end
op.parse!
if ( ARGV.length == 2 ) and ARGV.all? { |a| File.directory?( a )}
paths = OpenStruct.new
paths.flac = ARGV[0] ; paths.ogg = ARGV[1]
options.paths = paths
else
puts op
exit
end
options
end
|