#!/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 }