X-Git-Url: https://git.hcoop.net/clinton/abcde.git/blobdiff_plain/786d4b2e303209521ee43e14ce62f356c795640a..1366e842071f6dd8bf0ae968c08c3d9437c68491:/abcde diff --git a/abcde b/abcde index 92f996f..553a818 100755 --- a/abcde +++ b/abcde @@ -62,6 +62,7 @@ echo "-W <#> Contatenate CDs: -T #01 -w \"CD #\"" echo "" echo "Tracks is a space-delimited list of tracks to grab." echo "Ranges specified with hyphens are allowed." +#echo "Double hyphens are used to concatenate tracks" } # Funtions to replace the need of seq, which is too distribution dependant. @@ -1773,9 +1774,10 @@ do_cdread () # We need the first and last track for cdda2wav FIRSTTRACK=$2 LASTTRACK=$3 + UTRACKNUM=$FIRSTTRACK case "$CDROMREADERSYNTAX" in - cdparanoia) UTRACKNUM="1-" ;; - cdda2wav) UTRACKNUM="1+$LASTRACK" ;; + cdparanoia) READTRACKNUMS="$FIRSTTRACK-$LASTTRACK" ;; + cdda2wav) READTRACKNUMS="$FIRSTTRACK+$LASTRACK" ;; *) echo "abcde error: $CDROMREADERSYNTAX does not support ONETRACK mode" exit 1 ;; esac @@ -1801,14 +1803,19 @@ do_cdread () esac REDIR=">&2" fi - if [ -r "$CDDBDATA" ]; then - TRACKNAME=$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | head -n 1 | cut -f2 -d= | tr -d \[:cntrl:\]) - echo "Grabbing ${PIPE_MESSAGE}track $UTRACKNUM: $TRACKNAME..." >&2 + if [ "$1" = "onetrack" ]; then + echo "Grabbing ${PIPE_MESSAGE}tracks $UTRACKNUM - $LASTTRACK ..." >&2 else - echo "Grabbing ${PIPE_MESSAGE}track $UTRACKNUM..." >&2 + if [ -r "$CDDBDATA" ]; then + TRACKNAME=$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | head -n 1 | cut -f2 -d= | tr -d \[:cntrl:\]) + echo "Grabbing ${PIPE_MESSAGE}track $UTRACKNUM: $TRACKNAME..." >&2 + else + echo "Grabbing ${PIPE_MESSAGE}track $UTRACKNUM..." >&2 + fi fi case "$CDROMREADERSYNTAX" in - cdparanoia) nice $READNICE $CDROMREADER -d $CDROM $UTRACKNUM $FILEARG $REDIR ;; + cdparanoia) + nice $READNICE $CDROMREADER -d $CDROM ${READTRACKNUMS:-$UTRACKNUM} $FILEARG $REDIR ;; cdda2wav) if [ "$OSFLAVOUR" = "OSX" ] ; then # Hei, we have to unmount the device before running anything like cdda2wav in OSX @@ -1824,7 +1831,7 @@ do_cdread () CDDA2WAVCDROM="$CDROMID" fi fi - nice $READNICE $CDROMREADER -D $CDDA2WAVCDROM -t $UTRACKNUM $FILEARG $REDIR + nice $READNICE $CDROMREADER -D $CDDA2WAVCDROM -t ${READTRACKNUMS:-$UTRACKNUM} $FILEARG $REDIR ;; ## FIXME ## We have an exception for dagrab, since it uses -f ## FIXME ## Shall we just use -f $FILEARG ?? @@ -2239,6 +2246,7 @@ if [ X"$CDROM" != "X" ] ; then echo "abcde error: CDROMID not in the right format for $CDROMREADERSYNTAX" echo "Use \"cdrecord -scanbus\" to obtain a adecuate ID an set CDROMID accordingly" exit 1 + fi fi elif [ ! -e "$CDROM" -a X"$DOREAD" = "Xy" ]; then echo "abcde error: CDROM device cannot be found." >&2 @@ -2815,6 +2823,8 @@ do fi fi fi + if [ "$DOTAG" = "y" ]; then + if checkstatus encodetrack-$UTRACKNUM; then if checkstatus tagtrack-$UTRACKNUM; then :; else do_tag $UTRACKNUM; fi fi fi