#
# $Id$
-VERSION='2.3.99.8'
+VERSION='2.4'
usage ()
{
run_command replaygain-vorbis nice $ENCNICE $VORBISGAIN --album "${OUTPUTFILES[@]}"
;;
mp3)
- run_command replaygain-mp3 nice $ENCNICE $MP3GAIN -a "${OUTPUTFILES[@]}"
+ run_command replaygain-mp3 nice $ENCNICE $MP3GAIN -a -k "${OUTPUTFILES[@]}"
;;
mpc)
run_command replaygain-mpc nice $ENCNICE $MPPGAIN --auto "${OUTPUTFILES[@]}"
mp3)
# id3v2 v0.1.9 claims to have solved the -c bug, so we merge both id3 and id3v2
GENREID=$(do_getgenreid "${CDGENRE}")
+ # Set TPE2 in case we have a Various Artists rip.
+ TPE2=""
+ if [ "$VARIOUSARTISTS" = "y" ]; then
+ TPE2="Various"
+ fi
case "$ID3SYNTAX" in
id3);;
-G "$GENREID" -n "${TRACKNUM:-$1}" \
"${TRACKNUM:+-N $TRACKS}" \
"${ENCODING:+--set-encoding=$ENCODING}" \
+ "${TPE2:+--set-user-text-frame=TPE2:$TPE2}" \
"$ABCDETEMPDIR/track$1.$OUTPUT"
;;
# FIXME # Still not activated...
$TAGGER $TAGGEROPTS -c "$COMMENTOUTPUT" \
-A "$DALBUM" -a "$TRACKARTIST" -t "$TRACKNAME" \
-y "$CDYEAR" -g "$GENREID" \
- -T "${TRACKNUM:-$1/$TRACKS}" \
+ -T "${TRACKNUM:-$1}/$TRACKS" \
+ "${TPE2:+--TPE2 \"$TPE2\"}" \
"$ABCDETEMPDIR/track$1.$OUTPUT"
;;
esac
echo REM DISCID $DISCID
echo FILE \"dummy.wav\" WAVE
- if [ $1 -ne 150 ] && [ $MODE = "PREGAP"] ; then
+ if [ $1 -ne 150 ] && [ $MODE = "PREGAP" ] ; then
OFFSET=$1
else
OFFSET=150
RESPONSECODE=$(head -n 1 "$ABCDETEMPDIR/cddbstat" | cut -f1 -d' ')
case "$RESPONSECODE" in
210) # 210 OK, status information follows (until terminating `.')
- rc=0;
+ rc=0
;;
- 501|*) # 501 Illegal CDDB protocol level: <n>.
+ 501) # 501 Illegal CDDB protocol level: <n>.
CDDBPROTO=`expr $CDDBPROTO - 1`
;;
+ *) # Try a cddb query, since freedb2.org doesn't support the stat or ver commands
+ # FreeDB TESTCD disc-id is used for query
+ $CDDBTOOL query $CDDBURL $CDDBPROTO $CDDBUSER $CDDBHOST 03015501 1 296 344 > "$ABCDETEMPDIR/cddbstat"
+ RESPONSECODE=$(head -n 1 "$ABCDETEMPDIR/cddbstat" | cut -f1 -d' ')
+ case "$RESPONSECODE" in
+ 2??) # Server responded, everything seems OK
+ rc=0
+ ;;
+ esac
+ ;;
esac
done
if test $rc -eq 1; then
if [ "$USEPIPES" = "y" ]; then
TEMPARG="PIPERIPPER_$CDROMREADERSYNTAX"
FILEARG="$( eval echo "\$$TEMPARG" )"
- REDIR=""
+ REDIR="y"
PIPE_MESSAGE="and encoding "
else
WAVDATA="$ABCDETEMPDIR/track$UTRACKNUM.wav"
FILEARG="$WAVDATA"
;;
esac
- REDIR=">&2"
+ REDIR="n"
fi
if [ "$1" = "onetrack" ]; then
echo "Grabbing ${PIPE_MESSAGE}tracks $UTRACKNUM - $LASTTRACK as one track ..." >&2
STRIPTRACKNUM=$(expr $UTRACKNUM + 0)
nice $READNICE $FLAC -d -f --cue=${READTRACKNUMS:-$STRIPTRACKNUM.1-$(($STRIPTRACKNUM + 1)).0} "$FILEARG" "$CDROM" ;;
cdparanoia)
- nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" $REDIR ;;
+ if [ "$REDIR" = "y" ]; then
+ nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" >&2
+ else
+ nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG"
+ fi;;
+
cdda2wav)
if [ "$OSFLAVOUR" = "OSX" ] ; then
# Hei, we have to unmount the device before running anything like cdda2wav in OSX
CDDA2WAVCDROM="$CDROMID"
fi
fi
- nice $READNICE $CDROMREADER -D $CDDA2WAVCDROM -t ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" $REDIR
- ;;
+ if [ "$REDIR" = "y" ]; then
+ nice $READNICE $CDROMREADER -D $CDDA2WAVCDROM -t ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" >&2
+ else
+ nice $READNICE $CDROMREADER -D $CDDA2WAVCDROM -t ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG"
+ fi ;;
## FIXME ## We have an exception for dagrab, since it uses -f
## FIXME ## Shall we just use -f $FILEARG ??
- dagrab) nice $READNICE $CDROMREADER -d "$CDROM" -v $UTRACKNUM "$FILEARG" $REDIR
- ;;
+ dagrab)
+ if [ "$REDIR" = "y" ]; then
+ nice $READNICE $CDROMREADER -d "$CDROM" -v $UTRACKNUM "$FILEARG" >&2
+ else
+ nice $READNICE $CDROMREADER -d "$CDROM" -v $UTRACKNUM "$FILEARG"
+ fi ;;
cddafs)
# Find the track's mounted path
REALTRACKNUM=$(expr $UTRACKNUM + 0)
FILEPATH=$(find "$FILEPATH" | grep "/$REALTRACKNUM ");
# If the file exists, copy it
if [ -e "$FILEPATH" ] ; then
- nice $READNICE $CDROMREADER "$FILEPATH" "$FILEARG" $REDIR
+ if [ "$REDIR" = "y" ]; then
+ nice $READNICE $CDROMREADER "$FILEPATH" "$FILEARG" >&2
+ else
+ nice $READNICE $CDROMREADER "$FILEPATH" "$FILEARG"
+ fi
else
false
fi ;;
- debug) nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" -w $UTRACKNUM-[:1] "$FILEARG" $REDIR
- ;;
+ debug)
+ if [ "$REDIR" = "y" ]; then
+ nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" -w $UTRACKNUM-[:1] "$FILEARG" >&2
+ else
+ nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS "$CDROM" -w $UTRACKNUM-[:1] "$FILEARG"
+ fi ;;
esac
RETURN=$?
# If we get some error or we get some missing wav