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
*) echo COMMENT="$COMMENTOUTPUT";;
esac
fi
- ) | run_command tagtrack-$1 $VORBISCOMMENT -w \
+ ) | run_command tagtrack-$1 $VORBISCOMMENT $VORBISCOMMENTOPTS -w \
"$ABCDETEMPDIR/track$1.uncommented.$OUTPUT" "$ABCDETEMPDIR/track$1.$OUTPUT"
# Doublecheck that the commented file was created successfully before wiping the original
if [ -f "$ABCDETEMPDIR/track$1.$OUTPUT" ]; then
esac
;;
flac)
+## FIXME ## [ "$FLACONOGG" = "y" ] && OUTPUT=ogg
(
echo ARTIST="$TRACKARTIST"
echo ALBUM="$DALBUM"
*) echo COMMENT="$COMMENTOUTPUT";;
esac
fi
- ) | run_command tagtrack-$1 $METAFLAC --no-utf8-convert --import-tags-from=- "$ABCDETEMPDIR/track$1.$OUTPUT"
+ ) | run_command tagtrack-$1 $METAFLAC $METAFLACOPTS --import-tags-from=- "$ABCDETEMPDIR/track$1.$OUTPUT"
;;
spx)
run_command tagtrack-$1 true
# 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:
CDSPEEDOPTS="-x"
CDSPEEDVALUE=
MKCUEOPTS=
+VORBISCOMMENTOPTS="-R"
+METAFLACOPTS="--no-utf8-convert"
# Default to one process if -j isn't specified
MAXPROCS=1
d) CDROM="$OPTARG" ;;
D) set -x ;;
h) usage; exit ;;
+ e) ERASEENCODEDSTATUS=y ;;
# f) FORCECDDBUSELOCAL=y ;;
i) INLINETAG=y ;;
j) MAXPROCS="$OPTARG" ;;
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
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
fi
fi
fi
- if [ "$DOTAG" = "y" ]; then
- if checkstatus encodetrack-$UTRACKNUM; then
if checkstatus tagtrack-$UTRACKNUM; then :; else do_tag $UTRACKNUM; fi
fi
fi