if [ "$VARIOUSARTISTS" = "y" ] && [ ! "$ONETRACK" = "y" ]; then
case "$VARIOUSARTISTSTYLE" in
forward)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's- / -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's- / -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
forward-dash)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's, - ,~,g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's, - ,~,g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
reverse)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's- / -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's- / -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
reverse-dash)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's, - ,~,g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's, - ,~,g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
colon)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's-: -~-g')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f1 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f2 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's-: -~-g')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f1 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f2 -d~)
;;
trailing-paren)
- DTITLEARTIST="$(echo $TRACKNAME | sed 's,^\(.*\) (\(.*\)),\1~\2,')"
- TRACKARTIST="$(echo $DTITLEARTIST | cut -f2 -d~)"
- TRACKNAME="$(echo $DTITLEARTIST | cut -f1 -d~)"
+ DTITLEARTIST=$(echo "$TRACKNAME" | sed 's,^\(.*\) (\(.*\)),\1~\2,')
+ TRACKARTIST=$(echo "$DTITLEARTIST" | cut -f2 -d~)
+ TRACKNAME=$(echo "$DTITLEARTIST" | cut -f1 -d~)
;;
esac
elif [ "$ONETRACK" = "y" ]; then
TRACKARTIST="Various"
else
- TRACKARTIST=$DARTIST
+ TRACKARTIST="$DARTIST"
fi
}
case "$OUTPUT" in
mp3)
# id3v2 v0.1.9 claims to have solved the -c bug, so we merge both id3 and id3v2
- GENREID=$(do_getgenreid "${CDGENRE}")
-
- # FIXME # track numbers in mp3 come with 1/10, so we cannot happily substitute them with $TRACKNUM
GENREID=$(do_getgenreid "${CDGENRE}")
+ # FIXME # track numbers in mp3 come with 1/10, so we cannot happily substitute them with $TRACKNUM
run_command tagtrack-$1 $TAGGER $TAGGEROPTS -c "$COMMENTOUTPUT" \
-A "$DALBUM" -a "$TRACKARTIST" -t "$TRACKNAME" -y "$CDYEAR" \
-g "$GENREID" -T "${TRACKNUM:-$1/$TRACKS}" \
fi
(
# These are from http://www.xiph.org/ogg/vorbis/doc/v-comment.html
- echo ARTIST=$TRACKARTIST
+ echo ARTIST="$TRACKARTIST"
echo ALBUM="$DALBUM"
- echo TITLE=$TRACKNAME
+ echo TITLE="$TRACKNAME"
if [ -n "$CDYEAR" ]; then
echo DATE="$CDYEAR"
fi
esac
;;
flac)
+## FIXME ## [ "$FLACONOGG" = "y" ] && OUTPUT=ogg
(
echo ARTIST="$TRACKARTIST"
echo ALBUM="$DALBUM"
# Some heuristics first. Look at Disc Title, and if it starts with
# "Various", then we'll assume Various Artists
- if [ "$(grep ^DTITLE= "$CDDBDATA" | cut -f2 -d= | egrep -ci '^(various|soundtrack|varios|sonora|ost)')" != "0" ]; then
+ if [ "$(grep ^DTITLE= "$CDDBDATA" | cut -f2- -d= | egrep -ci '^(various|soundtrack|varios|sonora|ost)')" != "0" ]; then
echo "Looks like a Multi-Artist CD" >&2
VARIOUSARTISTS=y
else
# Custom filename munging:
mungefilename ()
{
- echo "$@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\]
+ #echo "$@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\]
+ echo "$@" | sed s,:,\ -,g | tr \ / __ | tr -d \'\"\?\[:cntrl:\]
}
# Custom genre munging:
if [ "$ONETRACK" = "y" ]; then
# FIXME # remove check as soon as we find out about the other readers
case "$CDROMREADERSYNTAX" in
- dagrab|cddafs|debug) echo "abcde error: ONETRACK reading is not suported with "$CDROMREADERSYNTAX" yet"
+ dagrab|cddafs|debug) echo "abcde error: ONETRACK reading is not suported with $CDROMREADERSYNTAX yet"
exit 1 ;;
esac
if [ "$BATCH" = "y" ]; then
exit 1
fi
fi
- elif [ ! -e "$CDROM" -a X"$DOREAD" = "y" ]; then
+ elif [ ! -e "$CDROM" -a X"$DOREAD" = "Xy" ]; then
echo "abcde error: CDROM device cannot be found." >&2
exit 1
fi
# avoid processing if we are not going to hit the CDROM.
-elif [ X"$DOREAD" = "y" ]; then
+elif [ X"$DOREAD" = "Xy" ]; then
echo "abcde error: CDROM has not been defined or cannot be found" >&2
exit 1
fi
case "$FLACENCODERSYNTAX" in
flac)
FLACENCODEROPTS="${FLACENCODEROPTSCLI:-$FLACOPTS}"
- FLACENCODER="$FLAC"
+ FLACENCODER="$FLAC"
+ ## FIXME ## FLAC streams can be encapsulated on a Ogg transport layer
+ if echo "$FLACENCODEROPTS" | egrep -q -- "(^| )--ogg($| )" ;then
+ FLACONOGG=y
+ fi
;;
esac
case "$SPEEXENCODERSYNTAX" in
# Encoders with USEPIPE support
# FIXME # Include here all the encoders we can figure out support pipes
PIPE_lame="-"
+PIPE_bladeenc="-"
PIPE_oggenc="-"
# Figure out if we can use pipes with the ripper/encoder combination
if [ "$DOREAD" = "y" ]; then
if [ "$USEPIPES" = "y" ]; then
if checkstatus readencodetrack-$UTRACKNUM; then :; else
- do_cdread $UTRACKNUM | do_encode $UTRACKNUM %local0%
+ # Read, pipe, shut up!
+ do_cdread $UTRACKNUM | do_encode $UTRACKNUM %local0% > /dev/null 2>&1
fi
else
if checkstatus readtrack-$UTRACKNUM; then :; else
else
# TRACKNUM=$(printf %0.${TRACKNUMPADDING}d $(expr ${UTRACKNUM} + 0))
TRACKNUM=$UTRACKNUM
- CDDBTRACKNUM=$(expr $UTRACKNUM - 1)
- TRACKNAME=$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | cut -f2 -d= | tr -d \[:cntrl:\] | sed 's/\ \+$//')
+ CDDBTRACKNUM=$(expr $UTRACKNUM - 1)
+ TRACKNAME="$(grep ^TTITLE$CDDBTRACKNUM= "$CDDBDATA" | cut -f2- -d= | tr -d \[:cntrl:\] | sed 's/\ \+$//')"
splitvarious
fi
fi