Hacky patch to fix this, I thought I sent this a week ago but I geuss it
never went through.  Also, my editor ate the backticks out of my "fixup"
suggestion, so here it is again:
find . -name \*.cue | xargs grep -l dummy.wav | while read cue; do
  flac=`echo $cue | sed -e '[EMAIL PROTECTED]/@@;s/\.cue$//'`
  perl -i~ -pe "s/dummy.wav/$flac/" "$cue"
done

--- /usr/bin/abcde	2006-08-05 15:14:30.000000000 -0400
+++ bin/abcde_hack	2008-01-09 11:20:22.000000000 -0500
@@ -1608,6 +1608,7 @@
 
 	local MODE DISCID TRACKS
 	local i OFFSET LBA 
+        local CUEWAVFILE
 
 
     if [ "$1" = --wholedisc ] ; then
@@ -1616,6 +1617,21 @@
         MODE=PREGAP
     fi
 
+    vecho "One track is $ONETRACK"
+    TRACKFILE="$(mungefilename "$TRACKNAME")"
+    ARTISTFILE="$(mungefilename "$TRACKARTIST")"
+    ALBUMFILE="$(mungefilename "$DALBUM")"
+    if [ "$ONETRACK" = "y" ]; then
+        if [ "$VARIOUSARTISTS" = "y" ]; then
+            CUEWAVFILE="$(eval echo \""$VAONETRACKOUTPUTFORMAT"\" | sed -e '[EMAIL PROTECTED]/@@').$OUTPUT"
+        else
+            CUEWAVFILE="$(eval echo \""$ONETRACKOUTPUTFORMAT"\" | sed -e '[EMAIL PROTECTED]/@@').$OUTPUT"
+        fi
+        vecho "Cue wav file is $CUEWAVFILE"
+    else
+        CUEWAVFILE="dummy.wav"
+    fi
+
     set -- $TRACKINFO
 
     DISCID=$1
@@ -1623,7 +1639,7 @@
     shift 2
 
     echo REM DISCID $DISCID
-    echo FILE \"dummy.wav\" WAVE
+    echo FILE \""$CUEWAVEFILE"\" WAVE
 
     if [ $1 -ne 150 ] ; then
         if [ $MODE = PREGAP ] ; then
@@ -1959,6 +1975,24 @@
 					eval track="\$TRACK$n"
 					n=$(expr $n + 1)
 					echo "    TITLE \"$track\"" >> "$CUEFILE_OUT"
+                                # When making a single-track rip, put the
+                                # actual file name into the file declaration
+                                # in the cue file so that it is usable by
+                                # music players and the like
+                                elif [ "$ONETRACK" = "y" ] &&
+                                     echo "$line" | grep '^FILE "dummy.wav" WAVE' > /dev/null 2>&1 ; then
+                                        TRACKFILE="$(mungefilename "$TRACKNAME")"
+                                        ARTISTFILE="$(mungefilename "$TRACKARTIST")"
+                                        ALBUMFILE="$(mungefilename "$DALBUM")"
+
+					if [ "$VARIOUSARTISTS" = "y" ]; then
+						OUTPUTFILE="$(eval echo \""$VAONETRACKOUTPUTFORMAT"\" | sed -e '[EMAIL PROTECTED]/@@').$OUTPUT"
+					else
+						OUTPUTFILE="$(eval echo \""$ONETRACKOUTPUTFORMAT"\" | sed -e '[EMAIL PROTECTED]/@@').$OUTPUT"
+					fi
+
+                                        echo "FILE \"$OUTPUTFILE\" WAVE" >> "$CUEFILE_OUT"
+                                        continue
 				fi
 # FIXME # If the lines above are uncommented, remove the line below.
 				echo "$line" >> "$CUEFILE_OUT"

Reply via email to