#! /usr/bin/ruby require 'etc' begin ## ogg2mp3 puts "ogg2mp3 script \n" if ARGV.length == 0 then puts "Usage: ./ogg2mp3 [oggfile.ogg]+" else ARGV.each {|oggfile| oggname = oggfile.split(/.ogg/i) puts "Processing Song: #{oggname}" title, artist, album, tracknumber, genre, year = "" system("ogginfo \"#{oggfile}\" > ogginfo.data") puts "Track data retrieved" f = File::open("ogginfo.data" , mode="r+") datalines = f.readlines datalines.each {|line| case line when /title=(.*)/i puts "Title is: #$1"; title = "#$1"; when /artist=(.*)/i puts "Artist is: #$1"; artist = "#$1"; when /album=(.*)/i puts "Album is: #$1"; album = "#$1"; when /tracknumber=(.*)/i puts "Track # is: #$1"; tracknumber = "#$1"; when /genre=(.*)/i puts "Genre is: #$1"; genre = "#$1"; when /date=(.*)/i puts "Date is: #$1"; year = "#$1"; end } system("rm -f ogginfo.data") system("oggdec \"#{oggfile}\"") system("lame -h -b 192 --tt \"#{title}\" --ta \"#{artist}\" --tl \"#{album}\" --ty \"#{year}\" --tn \"#{tracknumber}\" --tg \"#{genre}\" \"#{oggname}.wav\" \"#{oggname}.mp3\"") system("rm -f \"#{oggname}.wav\"") puts "-----------------" } end end ## ogg2mp3