TODO:
----
-* Set loud after reading, so that the 1st encoding is visible.
* flac with force.
-* no eject when we dont read a CD.
+* Get the echo instances to behave consistently
* flacdecode (to extract files from a -1 flac file) (ALMOST READY!)
-* Get the echo instances to behave consistently
-
* read the TOC and CDTEXT files and store them
* read_and_encode_and_tag? :)
* AAC support (faac should be free?)
-* I used abcde to rip a cd in batch normalizing mode to mp3 (mp2
- actually) format with toolame. The first part went fine, until toolame
- started. That resulted in an error. Here is the relevant part of the
- logfile made by 'abcde -D 2>logfile':
-
- -----
- + TRACKFILES= track1.wav track2.wav track3.wav track4.wav
- + nice -n 10 toolame --nogap track1.wav track2.wav track3.wav track4.wav
- toolame: unrec option -
- toolame: unrec option n
- toolame: -p model must be 1 or 2, not track1.wav
- + RETURN=1
- + '[' 1 '!=' 0 ']'
- + echo 'batch-encode: returned code 1'
- -----
-
- In my abcde.conf I have "BATCH=y". Setting this to "BATCH=n" solves
- this. "BATCH=y" is responsible for inserting '--nogap'. I don't know
- what that is supposed to be doing, but it is only meant for use with
- lame, and I am using toolame as that is free software: "LAME=toolame"
- in abcde.conf.
-
- I see two possible solutions:
-
- 1. Check if LAME really is lame and not toolame or some other mp3
- encoder. If so, then go ahead and insert '--nogap' in the generated
- command. Else don't.
-
- 2. Don't tie the '--nogap' insertion to the setting of BATCH. Make a
- new option NOGAP or something for that.
-
- Other than that, abcde is a brilliant time saver. Thanks!
-
- BTW, dpkg -l toolame:
- ii toolame 02i-2 MPEG-1 layer 2 audio encoder
-
-*
-
-abcde -a read,encode -o ogg,flac,wav (it creates and encodes the 3 formats)
-
-abcde -a tag,move,clean (it tags and moves Ogg/Vorbis and erases everything
- else...)
-
-I will have to add a "-f" as force to erase the directory if we have encoded
-something else than what we have already moved, so that we dont destroy
-formats that we want to keep.
-
echo "-S <#> Set the CD speed"
echo "-t <#> Start the track numbering at a given number"
echo "-T <#> Same as -t but modifies tag numbering"
+echo "-u Use UNICODE tags and comments"
echo "-v Show version number and exit"
echo "-V Be a bit more verbose about what is happening behind the scenes"
echo "-x Eject CD after all tracks are read"
ALBUMFILE="$(mungefilename "$DALBUM")"
do_gettracknum
if [ "$VARIOUSARTISTS" = "y" ]; then
- OUTPUTFILE=$(eval echo $VAOUTPUTFORMAT)
+ OUTPUTFILE="$(eval echo $VAOUTPUTFORMAT)"
else
- OUTPUTFILE=$(eval echo $OUTPUTFORMAT)
+ OUTPUTFILE="$(eval echo $OUTPUTFORMAT)"
fi
OUTPUTFILES="$OUTPUTDIR/$OUTPUTFILE.$OUTPUT $OUTPUTFILES"
done
case "$OUTPUT" in
flac)
- run_command replaygain-flac $METAFLAC --add-replay-gain $OUTPUTFILES
+ run_command replaygain-flac $METAFLAC --add-replay-gain "$OUTPUTFILES"
;;
vorbis|ogg)
- run_command replaygain-vorbis $VORBISGAIN --album $OUTPUTFILES
+ run_command replaygain-vorbis $VORBISGAIN --album "$OUTPUTFILES"
;;
mp3)
- run_command replaygain-mp3 $MP3GAIN -a $OUTPUTFILES
+ run_command replaygain-mp3 $MP3GAIN -a "$OUTPUTFILES"
;;
*);;
esac
# Parse command line options
#while getopts 1a:A:bc:C:d:Dehj:klLmMnNo:pPr:Rs:S:t:T:vVxw:W: opt ; do
-while getopts 1a:bBc:C:d:Defghj:klLmMnNo:pPr:s:S:t:T:vVxw:W:z opt ; do
+while getopts 1a:bBc:C:d:Defghj:klLmMnNo:pPr:s:S:t:T:uvVxw:W:z opt ; do
case "$opt" in
1) ONETRACK=y ;;
a) ACTIONS="$OPTARG" ;;
R) DOREPLAYGAIN=y ;;
s) SHOWCDDBFIELDS="$OPTARG" ;;
S) CDSPEEDVALUE="$OPTARG" ;;
-# t) PREPROCESSFORMATS="$OPTARG"
-# PREPROCESS=y ;;
-# T) POSTPROCESSFORMATS="$OPTARG" ;;
t) STARTTRACKNUMBER="$OPTARG" ;;
T) STARTTRACKNUMBER="$OPTARG" ; STARTTRACKNUMBERTAG="y" ;;
+ u) CDDBPROTO=6 ;;
v)
echo "This is abcde v$VERSION."
echo "Usage: abcde [options] [tracks]"