X-Git-Url: https://git.hcoop.net/clinton/abcde.git/blobdiff_plain/b82e2042ef602b1e5d21504af6deb18c075d3735..ae80a21329cceff7d5a1a6e518ffa0aa6d5102c0:/abcde?ds=sidebyside diff --git a/abcde b/abcde index 53540da..810ab8b 100755 --- a/abcde +++ b/abcde @@ -61,7 +61,8 @@ echo " Add a comment to the CD tracks" 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 "Ranges specified with hyphens are allowed (i.e., 1-5)." +echo "" #echo "Double hyphens are used to concatenate tracks" } @@ -698,7 +699,7 @@ do_encode () case "$2" in %local*%) case "$FLACENCODERSYNTAX" in - flac) $RUN_COMMAND nice $ENCNICE $FLACENCODER $FLACENCODEROPTS -o "$OUT" "$IN" ;; + flac) $RUN_COMMAND nice $ENCNICE $FLACENCODER $FLACENCODEROPTS -o "$OUT" "$IN" ;; esac ;; @@ -966,14 +967,30 @@ do_move () OUTPUTFILEDIR=$(dirname "$OUTPUTDIR/$OUTPUTFILE") # mkdir -p shouldn't return an error if the directory already exists mkdir -p "$OUTPUTFILEDIR" - vecho "Moving $ABCDETEMPDIR/track$1.$OUTPUT to $OUTPUTDIR/$OUTPUTFILE.$OUTPUT" + # Silence the Moving output since it overlaps with encoding processes... + #run_command '' vecho "Moving track$1.$OUTPUT to $OUTPUTDIR/$OUTPUTFILE.$OUTPUT" run_command movetrack-$1 mv "$ABCDETEMPDIR/track$1.$OUTPUT" "$OUTPUTDIR/$OUTPUTFILE.$OUTPUT" # Lets move the cue file if CUEFILE=$(checkstatus cuefile) >/dev/null ; then if [ -r "$ABCDETEMPDIR/$CUEFILE" ]; then if checkstatus movecue-$OUTPUT; then :; else - vecho "Copying cue file to its destination directory..." - run_command movecue-$OUTPUT cp "$ABCDETEMPDIR/$CUEFILE" "$OUTPUTFILEDIR/" + # Silence the Copying output since it overlaps with encoding processes... + #run_command '' vecho "Copying cue file to its destination directory..." + if checkstatus onetrack >/dev/null ; then + case $OUTPUT in + # NOTE: Creating a cue file with the 3-char-extension files is to comply with + # http://brianvictor.tripod.com/mp3cue.htm#details + [a-z0-9][a-z0-9][a-z0-9]) + run_command movecue-$OUTPUT cp "$ABCDETEMPDIR/$CUEFILE" "$OUTPUTDIR/$OUTPUTFILE.cue" + ;; + *) + run_command movecue-$OUTPUT cp "$ABCDETEMPDIR/$CUEFILE" "$OUTPUTDIR/$OUTPUTFILE.$OUTPUT.cue" + ;; + esac + else + run_command movecue-$OUTPUT cp "$ABCDETEMPDIR/$CUEFILE" "$OUTPUTFILEDIR/$CUEFILE" + fi + echo movecue-$OUTPUT >> "$ABCDETEMPDIR/status" fi fi fi @@ -1122,7 +1139,7 @@ do_discid () cdparanoia|debug) if [ "$WEHAVEACD" = "y" ]; then vecho "Querying the CD for audio tracks..." - CDPARANOIAOUTPUT="$( $CDROMREADER -d $CDROM -Q --verbose 2>&1 )" + CDPARANOIAOUTPUT="$( $CDROMREADER -$CDPARANOIACDROMBUS $CDROM -Q --verbose 2>&1 )" RET=$? if [ ! "$RET" = "0" ];then echo "Warning: Something went wrong while querying the CD... Maybe a DATA CD?" @@ -1693,8 +1710,12 @@ do_cddbedit () # If that fails, check for a vi elif which vi >/dev/null 2>&1; then vi "$CDDBDATA" + elif [ -x /usr/bin/vim ]; then + /usr/bin/vim "$CDDBDATA" elif [ -x /usr/bin/vi ]; then /usr/bin/vi "$CDDBDATA" + elif [ -x /bin/vi ]; then + /bin/vi "$CDDBDATA" # nano should be on all (modern, i.e., sarge) debian systems elif which nano >/dev/null 2>&1 ; then nano "$CDDBDATA" @@ -1893,7 +1914,7 @@ do_cdread () fi case "$CDROMREADERSYNTAX" in cdparanoia) - nice $READNICE $CDROMREADER -d $CDROM ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" $REDIR ;; + nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS $CDROM ${READTRACKNUMS:-$UTRACKNUM} "$FILEARG" $REDIR ;; cdda2wav) if [ "$OSFLAVOUR" = "OSX" ] ; then # Hei, we have to unmount the device before running anything like cdda2wav in OSX @@ -1926,7 +1947,7 @@ do_cdread () else false fi ;; - debug) nice $READNICE $CDROMREADER -d $CDROM -w $UTRACKNUM-[:1] "$FILEARG" $REDIR + debug) nice $READNICE $CDROMREADER -$CDPARANOIACDROMBUS $CDROM -w $UTRACKNUM-[:1] "$FILEARG" $REDIR ;; esac RETURN=$? @@ -1949,6 +1970,9 @@ do_cdread () echo readencodetrack-$UTRACKNUM >> "$ABCDETEMPDIR/status" else echo readtrack-$UTRACKNUM >> "$ABCDETEMPDIR/status" + if [ "$1" = "onetrack" ]; then + echo onetrack >> "$ABCDETEMPDIR/status" + fi fi fi } @@ -1995,6 +2019,13 @@ pre_read () : } +# post_read +# Empty post_read function, to be defined in the configuration file. +post_read () +{ +: +} + ############################################################################### # End of functions # @@ -2044,6 +2075,9 @@ CDDBUSELOCAL="n" # If using scsi devices, cdda2wav needs a CDROMID, instead of a device node # i.e. CDROMID="1,0,0" CDROMID="" +# If we are using the IDE bus, we need CDPARANOIACDROMBUS defined as "d" +# If we are using the ide-scsi emulation layer, we need to define a "g" +CDPARANOIACDROMBUS="d" # program paths - defaults to checking your $PATH # mp3 @@ -2093,7 +2127,7 @@ MP3ENCOPTS= VORBIZEOPTS= OGGENCOPTS= # flac -FLACOPTS= +FLACOPTS="-f" # speex SPEEXENCOPTS= # mpc @@ -2605,7 +2639,7 @@ if [ "$USEPIPES" = "y" ]; then vorbis|ogg) PIPEENCODERSVARCHECK="PIPE_$OGGENCODERSYNTAX" ;; flac) - PIPEENCODERSVARCHECK="PIPE_$FLACENCODERSYTNAX" ;; + PIPEENCODERSVARCHECK="PIPE_$FLACENCODERSYNTAX" ;; spx) PIPEENCODERSVARCHECK="PIPE_$SPEEXENCODER" ;; mpc) @@ -2778,6 +2812,9 @@ if [ "$BATCH" = "y" ] || [ "$ONETRACK" = "y" ]; then echo NEXTTRACK fi +# Execute the user-defined post_read funtion before ejecting CD +post_read + # We are now finished with the cdrom - it can be safely ejected. Note that # abcde will not have completed yet. if [ "$EJECTCD" = "y" ] && [ -x $(which $EJECT) ]; then