#!/usr/bin/tclsh

proc deogg {f} {
	set ret $f
	regexp {^(.*)\.ogg$} $f m ret
	return $ret
}

foreach f $argv {
	set album {}
	set artist {}
	set title {}
	set fd [open [list |ogginfo $f] r]
	while {[gets $fd line]} {
		regexp {^\ttitle=(.*)$} $line m title
		regexp {^\tartist=(.*)$} $line m artist
		regexp {^\talbum=(.*)$} $line m album
	}
	close $fd
	#decode:
	puts -nonewline "Decoding $f..."
	flush stdout
	exec oggdec -Q $f -o [deogg $f].wav
	puts " done."
	#recode:
	puts -nonewline "Encoding [deogg $f].mp3..."
	flush stdout
	exec lame -h --quiet --tl $album --ta $artist --tt $title [deogg $f].wav [deogg $f].mp3
	puts " done."
	#delete wav:
	exec rm [deogg $f].wav
}