#!/bin/sh
# ogg to mp3 script
#
# Author Thorsten Gunkel <tgunkel@gmx.de>
#
# --- 29.11.2003 Thorsten Gunkel <tgunkel@gmx.de> ---
# * ignore non-existent input files
# --- 10.04.2003 Thorsten Gunkel <tgunkel@gmx.de> ---
# * split 2mp3 into ogg2mp3 and mp32ogg
# --- Initial Release ---
#

  get_title="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^title\=         | sed s/^[^\=]*\=//"
 get_artist="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^artist\=        | sed s/^[^\=]*\=//"
  get_album="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^album\=         | sed s/^[^\=]*\=//"
   get_date="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^date\=          | sed s/^[^\=]*\=//"
get_comment="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^comment\=       | sed s/^[^\=]*\=//"
 get_trcknr="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^tracknumber\=   | sed s/^[^\=]*\=//"
  get_genre="/usr/bin/ogginfo \"\$ifilename\" | grep -i ^genre\=         | sed s/^[^\=]*\=//"

 recoder="nice /usr/bin/ogg123 -q -d wav -f - \"\$ifilename\" | nice /usr/bin/lame -o -h -m s -b 160 --tn \"\$trcknr\" --tt \"\$title\" --tl \"\$album\" --ta \"\$artist\" - \"\$ofilename\""
  
 suffix1="ogg"
 suffix2="mp3"


# --- ...2... ---

# nr of parameters
numb=$#
# do while there are parameters
while [ $numb -gt 0 ]
do
 ifilename="$1"; shift; numb=`expr $numb - 1`
 # Does the input file exist?
 if [ -e "$ifilename" ]; then
  ofilename="`echo "$ifilename" | sed s/".$suffix1"$/".$suffix2"/`"
  echo "< $ifilename"
   # ignore files with wrong suffix
   if [ "$ifilename" != "$ofilename" -a ! -e "$ofilename" ]; then
    echo "> $ofilename"
    title="`eval $get_title`"
    artist="`eval $get_artist`"
    album="`eval $get_album`"
    date="`eval $get_date`"
    comment="`eval $get_comment`"
    trcknr="`eval $get_trcknr`"
    genre="`eval $get_genre`"
    eval "$recoder"; errornr=$?
    # Genre might be not compatible. In case of error try again one time without genre
    if [ $errornr -ne 0 ]; then
     get_genre=""
     eval "$recoder"; errornr=$?
    fi
    echo 
    echo ">--------------"
    echo
   else
    echo 
    echo "XXX Destination file already exists or wrong input file!"
    echo
   fi
  else
   echo "XXX File $ifilename does not exist!"
  fi
done

# --- ...2... ---
