#
# $Id$
-VERSION='2.5.4-UNRELEASED'
+VERSION='2.5.5-UNRELEASED'
usage ()
{
TEMPARG="PIPE_$SPEEXENCODER"
;;
mpc)
- TEMPARG="PIPE_$MPPENCODER"
+ TEMPARG="PIPE_$MPCENCODER"
;;
m4a)
TEMPARG="PIPE_$AACENCODERSYNTAX"
;;
mpc)
# MPP/MP+(Musepack) format (.mpc) is done locally, with inline
- # tagging.
- # I tried compiling the mppenc from corecodecs.org and got some
- # errors, so I have not tried it myself.
- ## FIXME ## Needs some cleanup to determine if an empty tag sent
- ## FIXME ## to the encoder ends up empty.
- $RUN_COMMAND nice $EFFECTIVE_NICE $MPPENCODER $MPPENCODEROPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" "$IN" "$OUT"
+ # tagging. Uses mpcenc for Musepack SV8 encoding, changed from
+ # Musepack SV7 which used mppenc....
+ $RUN_COMMAND nice $EFFECTIVE_NICE $MPCENCODER $MPCENCODEROPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" "$IN" "$OUT"
;;
m4a)
# Tag the file at encode time, as it can't be done after encoding.
- if [ "$DOTAG" = "y" ]; then
+ if [ "$AACENC" = "neroAacEnc" ] ; then
+ DOTAG=y
+ $RUN_COMMAND nice $ENCNICE $AACENC $AACENCOPTS -if "$IN" -of "$OUT"
+ elif [ ! "$DOTAG" = "y" ]; then
$RUN_COMMAND nice $EFFECTIVE_NICE $AACENCODER $AACENCODEROPTS --artist "$TRACKARTIST" --album "$DALBUM" --title "$TRACKNAME" --track "$1" --genre "$CDGENRE" --year "$CDYEAR" --comment "$COMMENT" -o "$OUT" "$IN"
else
2??) # Server responded, everything seems OK
rc=0
;;
+ *) # unknown error
+ break
+ ;;
esac
;;
esac
OGGENCODERSYNTAX=default
FLACENCODERSYNTAX=default
SPEEXENCODERSYNTAX=default
-MPPENCODERSYNTAX=default
+MPCENCODERSYNTAX=default
AACENCODERSYNTAX=default
NORMALIZERSYNTAX=default
CUEREADERSYNTAX=default
# speex
SPEEXENC=speexenc
# mpp (Musepack)
-MPPENC=mppenc
+MPCENC=mpcenc
# m4a
AACENC=faac
ID3=id3
-ID3V2=id3v2
EYED3=eyeD3
VORBISCOMMENT=vorbiscomment
METAFLAC=metaflac
# speex
SPEEXENCOPTS=
# mpc
-MPPENCOPTS=
+MPCENCOPTS=
# m4a
AACENCOPTS=
ID3OPTS=
-ID3V2OPTS=
+EYED3OPTS="--set-encoding=utf16-LE"
CDPARANOIAOPTS=
CDDA2WAVOPTS=
DAGRABOPTS=
fi
# If CDDBAVAIL is set to n, no CDDB read is done
-# If USEID3 is set to n, no ID3 tagging is done
CDDBAVAIL=y
-USEID3=y
-USEID3V2=y
# There we go..
# But before we get into business, let us chop off any GREP environmental
if [ "$CDROM" = "" ] ; then
if [ -e /dev/cdroms/cdrom0 ]; then
CDROM=/dev/cdroms/cdrom0
+ elif [ "$OSFLAVOUR" = "OSX" ] && [[ $(diskutil list) =~ CD_part.*(disk.)$'\n' ]]; then
+ CDROM=/dev/${BASH_REMATCH[1]}
elif [ -e /dev/cdrom ]; then
CDROM=/dev/cdrom
elif [ -e /dev/sr0 ]; then
CDROM=/dev/acd0c
elif [ -e /dev/disk1 ]; then
CDROM=/dev/disk1
- elif [ "$OSFLAVOUR" = "OSX" ] && [[ $(diskutil list) =~ CD_part.*(disk.)$'\n' ]]; then
- CDROM=/dev/${BASH_REMATCH[1]}
fi
fi
mp3:*) MP3ENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
flac:*) FLACENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
spx:*) SPEEXENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
- mpc:*) MPPENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
+ mpc:*) MPCENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
m4a:*) AACENCODEROPTSCLI="$( echo $OUTPUT | cut -d: -f2- )" ;;
esac
done
fi
# If nothing has been specified, use oggenc for oggs and lame for mp3s and flac
-# for flacs and speexenc for speex and mppenc for mpps and faac for m4as
+# for flacs and speexenc for speex and mpcenc for mpcs and faac for m4as
# Getting ready for multiple output changes
for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
# [ "$DOREPLAYGAIN" = "y" ] &&
;;
mpc)
- [ "$MPPENCODERSYNTAX" = "default" ] && MPPENCODERSYNTAX=mppenc
+ [ "$MPCENCODERSYNTAX" = "default" ] && MPCENCODERSYNTAX=mpcenc
[ "$DOREPLAYGAIN" = "y" ] && NEEDMPPGAIN=y
;;
m4a)
SPEEXENCODER="$SPEEXENC"
;;
esac
-case "$MPPENCODERSYNTAX" in
- mppenc)
- MPPENCODEROPTS="${MPPENCODEROPTSCLI:-$MPPENCOPTS}"
- MPPENCODER="$MPPENC"
+case "$MPCENCODERSYNTAX" in
+ mpcenc)
+ MPCENCODEROPTS="${MPCENCODEROPTSCLI:-$MPCENCOPTS}"
+ MPCENCODER="$MPCENC"
;;
esac
case "$AACENCODERSYNTAX" in
TAGGER="$ID3"
TAGGEROPTS="$ID3OPTS"
else
- TAGGER="$ID3V2"
- TAGGEROPTS="$ID3V2OPTS"
+ TAGGER="$EYED3"
+ TAGGEROPTS="$EYED3OPTS"
+ ID3SYNTAX=eyed3
fi
# NOGAP is specific to lame. Other encoders fail ...
spx)
PIPEENCODERSVARCHECK="PIPE_$SPEEXENCODER" ;;
mpc)
- PIPEENCODERSVARCHECK="PIPE_$MPPENCODER" ;;
+ PIPEENCODERSVARCHECK="PIPE_$MPCENCODER" ;;
esac
decho "PIPERIPPERSVARCHECK: $( eval echo "\$$PIPERIPPERSVARCHECK" )"
if [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "$" ] || \
# Make sure a buncha things exist
for X in $CDROMREADER $CDDISCID ${NEEDTAGGER+$TAGGER} $MP3ENCODER \
- $OGGENCODER $FLACENCODER $SPEEXENCODER $MPPENCODER \
+ $OGGENCODER $FLACENCODER $SPEEXENCODER $MPCENCODER \
$AACENCODER $CDDBTOOL \
${NEEDATOMICPARSLEY+$ATOMICPARSLEY} \
${NEEDHTTPGET+$HTTPGET} ${NEEDDISTMP3+$DISTMP3} \