タイトル | : Re^2: cdda2mp3 について。 |
投稿日 | : 2007/03/21(Wed) 17:41 |
投稿者 | : ペガサス |
#!/bin/sh
#
# usage: cdda2mp3 [-psy] [-dev devicename:scsibus,target,lun] [name_prefix_for_all_mp3_files [1 2 3...]]
#
export CDDA_DEVICE=${CDDA_DEVICE:-/dev/acd0}
encode()
{
$CDDA2WAV $CDDA2WAV_OPTS -t$TRACK - 2> /dev/null | $MP_CODER $MP_OPTIONS stdin $FILEPREFIX$TRACK.mp3
# check result code
RES=$?
if [ $RES = 0 ] ; then
echo File $FILEPREFIX$TRACK.mp3 finished successfully.
else
echo File $FILEPREFIX$TRACK.mp3 failed \(result $RES\). >&2
mv -f $FILEPREFIX$TRACK.mp3 $FILEPREFIX$TRACK.failed
fi
}
# specify the audio track listing program and its options
LAT=list_audio_tracks
LAT_OPTIONS=''
CDDA2WAV=cdda2wav
CDDA2WAV_OPTS='-D2,1,0 -Owav -H -P0 -q'
MP_CODER='gogo'
MP_OPTIONS=''
while [ $# -gt 0 ]; do
if [ x"$1" = x"-psy" ] ; then
PSY=DO
shift
elif [ x"$1" = x"-dev" ] ; then
shift
export CDDA_DEVICE=$1
shift
else
break
fi
done
if [ x"$PSY" != x"DO" ] ; then
MP_OPTIONS="$MP_OPTIONS -nopsy"
fi
if [ $# = 0 ];then
FILEPREFIX=audiotrack
else
FILEPREFIX=$1
shift
fi
if [ $# = 0 ];then
# feed track numbers and start sectors into loop
$LAT $LAT_OPTIONS 2> /dev/null | while read TRACK STARTSECTOR;
do
encode
done
else
for TRACK in $@
do
encode
done
fi