#
# $Id$
-VERSION="2.3.99-$Revision$"
+VERSION='2.3.99-$Revision$'
usage ()
{
BLURB="$1"
shift
case $BLURB in
- error) echo "[ERR] abcde: $@" >&2 ;;
- warning) echo "[WAR] $@" >&2 ;;
- info) echo "[INF] $@" ;;
+ error) echo "[ERROR] abcde: $@" >&2 ;;
+ warning) echo "[WARNING] $@" >&2 ;;
+ info) echo "[INFO] $@" ;;
esac
}
if [ -s "$IN" -o X"$USEPIPES" = "Xy" ] ; then
for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
do
- if [ "$NOGAP" = "y" ] && checkstatus encodetrack-$OUTPUT-$1 ; then
- continue
- fi
case "$OUTPUT" in
vorbis|ogg)
OUT="$ABCDETEMPDIR/track$1.$OGGOUTPUTCONTAINER"
+ OUTPUT=$OGGOUTPUTCONTAINER
;;
flac)
OUT="$ABCDETEMPDIR/track$1.$FLACOUTPUTCONTAINER"
+ OUTPUT=$FLACOUTPUTCONTAINER
;;
*)
OUT="$ABCDETEMPDIR/track$1.$OUTPUT"
;;
esac
+ if [ "$NOGAP" = "y" ] && checkstatus encodetrack-$OUTPUT-$1 ; then
+ continue
+ fi
if [ X"$USEPIPES" = "Xy" ]; then
RUN_COMMAND=""
# We need a way to store the creation of the files when using PIPES
do
# Shares some code with do_move since the filenames have to match
CDDBTRACKNUM=$(expr $UTRACKNUM - 1)
- #TRACKNAME=$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | cut -f2 -d= | tr -d \[:cntrl:\] | sed 's/\ \+$//')
do_getcddbinfo TRACKNAME
splitvarious
TRACKFILE="$(mungefilename "$TRACKNAME")"
disktool -m ${CDROM#/dev/}
fi
WEHAVEACD=y
+ DISCID=$(echo $TRACKINFO | cut -f1 -d' ')
else
TRACKINFO=$(cat "$WAVOUTPUTDIR/abcde.$DISCID/discid")
fi
TRACKS="$(echo "$CDPARANOIAOUTPUT" | egrep '^[[:space:]]+[[:digit:]]' | tail -n 1 | get_first | tr -d "." | tr '\n' ' ')"
CDPARANOIAAUDIOTRACKS="$TRACKS"
else
+ # Previous versions of abcde would store the tracks on a file, instead of the status record.
+ if [ -f "$ABCDETEMPDIR/cdparanoia-audio-tracks" ]; then
+ echo cdparanoia-audio-tracks=$( cat "$ABCDETEMPDIR/cdparanoia-audio-tracks" ) >> "$ABCDETEMPDIR/status"
+ rm -f "$ABCDETEMPDIR/cdparanoia-audio-tracks"
+ fi
if [ -f "$ABCDETEMPDIR/status" ] && TRACKS=$(checkstatus cdparanoia-audio-tracks); then :; else
TRACKS=$(echo $TRACKINFO | cut -f2 -d' ')
fi
exit 1
fi
cat /dev/null > "$ABCDETEMPDIR/status"
+ # Store the abcde version in the status file.
+ echo "abcde-version=$VERSION" >> "$ABCDETEMPDIR/status"
fi
if [ X"$MAKECUEFILE" = "Xy" -a X"$WEHAVEACD" = "Xy" ]; then
if checkstatus cuefile > /dev/null 2>&1 ; then :; else
FIRSTTRACK=$2
LASTTRACK=$3
UTRACKNUM=$FIRSTTRACK
- case "$CDROMREADERSYNTAX" in
- ### FIXME ### How are we calculating the tracks in flac mode?
- flac) READTRACKNUMS="$FIRSTTRACK.1-$(($LASTTRACK + 1)).0" ;;
- cdparanoia) READTRACKNUMS="$FIRSTTRACK-$LASTTRACK" ;;
- cdda2wav) READTRACKNUMS="$FIRSTTRACK+$LASTRACK" ;;
- *) log error "$CDROMREADERSYNTAX does not support ONETRACK mode"
- exit 1 ;;
- esac
else
UTRACKNUM=$1
fi
echo "Grabbing ${PIPE_MESSAGE}tracks $UTRACKNUM - $LASTTRACK as one track ..." >&2
else
if [ -r "$CDDBDATA" ]; then
- #TRACKNAME=$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | head -n 1 | cut -f2 -d= | tr -d \[:cntrl:\])
do_getcddbinfo TRACKNAME
echo "Grabbing ${PIPE_MESSAGE}track $UTRACKNUM: $TRACKNAME..." >&2
else
b) BATCHNORM=y ;;
B) NOBATCHREPLAYGAIN=y ;;
c) if [ -e "$OPTARG" ] ; then . "$OPTARG" ; else log error "config file \"$OPTARG\" cannot be found." ; exit 1 ; fi ;;
- C) DISCID="${OPTARG#abcde.}" ;;
+ C) DISCID="$( echo ${OPTARG#abcde.} | tr -d /)" ;;
d) CDROM="$OPTARG" ;;
D) set -x ;;
e) ERASEENCODEDSTATUS=y ;;
if [ "$DOCLEAN" = "y" ] && [ ! "$FORCE" = "y" ]; then
ENCODED_FORMATS=$(egrep "^encodetrack-(.{3,6})-(.{1,2})$" "$ABCDETEMPDIR/status" | cut -d"-" -f2 | sort -u | tr '\n' '|')
MOVED_FORMATS=$(egrep "^movetrack-output-(.{3,6})$" "$ABCDETEMPDIR/status" | cut -d"-" -f3 | sort -u | tr '\n' '|')
- decho [ENCODED_FORMATS]
- decho [MOVED_FORMATS]
if [ "$ENCODED_FORMATS" != "$MOVED_FORMATS" ]; then
- log warning "Not all encoded formats have been requested to be moved."
- log warning "Use \"-a clean -f -C $DISCID\" to force the removal of the remaining data."
+ log warning "The encoded formats does not match with the moved ones"
+ log warning "Formats encoded: $( echo $ENCODED_FORMATS | tr "|" " " )"
+ log warning "Formats moved: $( echo $MOVED_FORMATS | tr "|" " " )"
+ log warning "Use \"abcde -a clean -f -C $DISCID\" to force the removal of the remaining data."
DOCLEAN=n
fi
fi