Jesus Climent wrote:
> On Thu, Apr 21, 2005 at 04:13:59PM -0600, Peter Karbaliotis wrote:
>
>>I have a CD with a data track in track 1 so I was trying to grab the
>>audio tracks (2-9) using the command 'abcde -b -T 1 2-9' and was left
>>with the tracks still numbered 2 through 9. Using -T 3 resulted in
>>tracks numbered 4 to 11.
>>
>>The problem is in the expression for calculating TRACKNUM:
>> $(expr ${UTRACKNUM} +${STARTTRACKNUMBER} - 1 )
>>The '-1' should be replaced by something like ${FIRSTTRACKNUM}.
>
>
> Never thought on that use for the -T option. Ingenious!
>
> I will check that patch!
>
This seems to do the trick. I couldn't figure out any better way to get
the first item in TRACKQUEUE.
Peter
--- abcde.orig 2005-04-25 15:53:05.000000000 -0600
+++ abcde 2005-04-25 16:13:23.395695871 -0600
@@ -292,7 +292,7 @@
if [ -n "$STARTTRACKNUMBER" -a -n "$STARTTRACKNUMBERTAG" ] ; then
# Get the trackpadding from the current track
CURRENTTRACKPADDING=$(echo -n $UTRACKNUM | wc -c)
- TRACKNUM=$( printf %0.${CURRENTTRACKPADDING}d $(expr
${UTRACKNUM} + ${STARTTRACKNUMBER} - 1 ))
+ TRACKNUM=$( printf %0.${CURRENTTRACKPADDING}d $(expr
${UTRACKNUM} + ${STARTTRACKNUMBER} - ${FIRSTTRACKNUM} ))
fi
for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
do
@@ -691,7 +691,7 @@
if [ -n "$STARTTRACKNUMBER" ] ; then
# Get the trackpadding from the current track
CURRENTTRACKPADDING=$(echo -n $UTRACKNUM | wc -c)
- TRACKNUM=$( printf %0.${CURRENTTRACKPADDING}d $(expr
${UTRACKNUM} + ${STARTTRACKNUMBER} - 1 ))
+ TRACKNUM=$( printf %0.${CURRENTTRACKPADDING}d $(expr
${UTRACKNUM} + ${STARTTRACKNUMBER} - ${FIRSTTRACKNUM} ))
else
TRACKNUM=${UTRACKNUM}
fi
@@ -771,7 +771,7 @@
if [ -n "$STARTTRACKNUMBER" ] ; then
# Get the trackpadding from the current
track
CURRENTTRACKPADDING=$(echo -n
$UTRACKNUM | wc -c)
- TRACKNUM=$( printf
%0.${CURRENTTRACKPADDING}d $(expr ${UTRACKNUM} + ${STARTTRACKNUMBER} - 1 ))
+ TRACKNUM=$( printf
%0.${CURRENTTRACKPADDING}d $(expr ${UTRACKNUM} + ${STARTTRACKNUMBER} -
${FIRSTTRACKNUM} ))
else
TRACKNUM=${UTRACKNUM}
fi
@@ -1951,6 +1951,8 @@
TRACKQUEUE=$(echo "$TRACKQUEUE" "$NEWTRACKS")
shift
done
+ # Strip any leading spaces and grab the first item in TRACKQUEUE
+ FIRSTTRACKNUM=$(echo "$TRACKQUEUE" | sed 's/^ *//' | sed 's/ .*$//')
fi
# List of valid actions: cddb,read,normalize,encode,tag,move,playlist,clean