#!/bin/bash TMPDIR="/tmp/flac2ogg-$RANDOM-$$/" mkdir $TMPDIR ( CURDIR="$PWD" ( cd $TMPDIR find "$CURDIR" -name "*.flac" | split -l 1 -a 4 ) [ -z $OGGQU ] &&OGGQU="8" for T in `ls $TMPDIR` do I="$(cat $TMPDIR/$T)" W="$(echo "$I" | sed 's/\.flac/\.wav/')" O="$(echo "$I" | sed 's/\.flac/\.ogg/')" NL="$(/bin/echo -n -e '\t')" echo "$NL" echo echo "Converting '$I'" echo " to '$O'" echo " with '$W'" echo "[" echo "Geting tags..." TAGS="`metaflac --export-tags-to=- "$I"`" ARG="" echo "$TAGS" |grep "^DESCRIPTION=" && \ ARG="$ARG--comment=`echo "$TAGS" |grep "^DESCRIPTION=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^ALBUM=" && \ ARG="$ARG--album=`echo "$TAGS" |grep "^ALBUM=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^DATE=" && \ ARG="$ARG--date=`echo "$TAGS" |grep "^DATE=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^TITLE=" && \ ARG="$ARG--title=`echo "$TAGS" |grep "^TITLE=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^TRACKNUMBER=" && \ ARG="$ARG--tracknum=`echo "$TAGS" |grep "^TRACKNUMBER=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^ARTIST=" && \ ARG="$ARG--artist=`echo "$TAGS" |grep "^ARTIST=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" echo "$TAGS" |grep "^GENRE=" && \ ARG="$ARG--genre=`echo "$TAGS" |grep "^GENRE=" |sed 's/^[A-Z]\+=\(.*\)$/\1/'`$NL" ARG="-b${NL}256${NL}-q$NL$OGGQU$NL$ARG$W$NL" echo "-----------------" echo "$ARG" echo "-----------------" echo "Makeing WAV from FLAC..." flac -d "$I" && { echo "Making OGG($OGGQU) from WAV..." echo -n "$ARG" |xargs -d '\t' oggenc (echo "Clearing..."; rm "$W" ) && echo "] Done" } done ) rm -rf $TMPDIR