#!/usr/bin/zsh -f

if ! (type tagreader &>/dev/null) ; then
    echo "Need tagreader installed"
    exit 1
fi
if ! (type lame &>/dev/null) ; then
    echo "Need lame installed"
    exit 1
fi

if [ $# -eq 0 ] ; then
    echo "Usage: ${0##*/} file.mp3"
    exit 2
fi

if ! test -f $1 ; then
    echo "Input file '$1' does not exist"
    exit 3
fi

if ! ( file $1 | egrep -q 'MP3|MPEG ADTS') ; then
    echo "'$1' does not seem to be a MP3 file"
    exit 4
fi

tagreader "$1" | head -9 | tail -7 | while read line ; do
  echo ${line#*- }
done | tr '\n' '^' | IFS="^" read song artist album year comment track genre dummy

song=${${song%\"}#\"}
artist=${${artist%\"}#\"}
album=${${album%\"}#\"}
year=${${year%\"}#\"}
comment=${${comment%\"}#\"}
track=${${track%\"}#\"}
genre=${${genre%\"}#\"}

lame --add-id3v2 --mp3input -b 128 -h --tt "$song" --ta "$artist" --tl "$album" --ty "$year" --tc "$comment" --tn "$track" --tg "$genre" "$1" "new_$1"
