#! /bin/sh
# Demo script for processing all audio tracks with an ogg/vorbis encoder
# based on a news article by Tom Kludy
# This variant uses named pipes in order to save space.
# There is another variant of this script, which uses temporary
# wav files (see cdda2mp3.new).
#
# usage: cdda2mp3 <name prefix for all mp3 files>
#
# list_audio_tracks is a (symbolic) link to cdda2wav
# and used to generate a list of audio track numbers and start
# sectors, which in turn are used in a loop to spawn cdda2wav
# and the post processor on a track by track basis.

# specify the sampling program and its options
# do not specify the track option here!
CDDA2WAV=cdda2wav
CDDA2WAV_OPTS='-H -P0 -q'

# for normal use, comment out the next line
#DEBUG='-d1'

# the post processor is fed through a pipe to avoid space waste
# specify the post processing program and its options
MP_CODER=oggenc
#MP_OPTIONS=''

FILEPREFIX=${1:-audiotrack}

TRACK=1
while :
do
  $CDDA2WAV $CDDA2WAV_OPTS -t$TRACK $DEBUG - | \
  $MP_CODER $MP_OPTIONS -o $FILEPREFIX$TRACK.ogg -

  # check result code
  RES=$?
  if [ $RES = 0 ] ; then
    echo File $FILEPREFIX$TRACK.ogg finished successfully.
  else
    echo File $FILEPREFIX$TRACK.ogg failed \(result $RES\). Aborted. >&2
    break
  fi
  TRACK=`echo $(($TRACK+1))`
done

