From 411ef0b02abb57afb029cc056afb289064f28ca0 Mon Sep 17 00:00:00 2001 From: data Date: Thu, 18 Aug 2005 21:06:39 +0000 Subject: [PATCH] r121@frost: data | 2005-08-19 00:00:16 +0300 CUE code reorganized. Replaygain patch uploaded. git-svn-id: http://abcde.googlecode.com/svn/trunk@100 a0fa61bc-5347-0410-a1a9-7f54aa4e1825 --- TODO | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ abcde | 24 ++++++++++++++++++----- abcde.1 | 6 +++++- debian/changelog | 10 ++++++++++ 4 files changed, 85 insertions(+), 6 deletions(-) diff --git a/TODO b/TODO index cda1d25..d33ad02 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,7 @@ TODO: ---- +* Change cdparanoia-tracks to = in the status file + * ReplyGain support * flacdecode (to extract files from a -1 flac file) @@ -33,3 +35,52 @@ TODO: name ? silently overwrite the old rip? etc. Review the things that abcde does ;) + +* When cdparanoia encounters a problem (disk full, data track) when abcde + is run in batch mode, abcde still continues, but batch mode is disabled. + I.e. instead of normalizing all tracks together, they are normalized + seperately, instead of running "lame --nogap" on all wavs, lame is + invoked once per wav. + + Abcde should halt when a problem occurs, so it can be manually resolved. + +* Support UTF-8 + +* 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 + diff --git a/abcde b/abcde index ae85379..0cd8a71 100755 --- a/abcde +++ b/abcde @@ -1296,8 +1296,13 @@ do_discid () if checkstatus cuefile > /dev/null 2>&1 ; then :; else CUEFILE=cue-$(echo "$TRACKINFO" | cut -f1 -d' ').txt vecho "Creating cue file..." - $MKCUE $MKCUEOPTS > "$ABCDETEMPDIR/$CUEFILE" - echo cuefile=$CUEFILE >> "$ABCDETEMPDIR/status" + if $CUEREADER $CUEREADEROPTS > "$ABCDETEMPDIR/$CUEFILE"; then + echo cuefile=$CUEFILE >> "$ABCDETEMPDIR/status" + else + echo "abcde: reading the CUE sheet with mkcue is still considered experimental" + echo "abcde: and there was a problem with the CD reading. abcde will continue," + echo "abcde: but consider reporting the problem to the abcde author" + fi fi fi # If we got the CDPARANOIA status and it is not recorded, save it now @@ -2105,6 +2110,7 @@ FLACENCODERSYNTAX=default SPEEXENCODERSYNTAX=default MPPENCODERSYNTAX=default NORMALIZERSYNTAX=default +CUEREADERSYNTAX=default OUTPUTFORMAT='${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}' # Use the following VAOUTPUTFORMAT to revert to 2.0.x VA format: @@ -2639,6 +2645,14 @@ else TAGGEROPTS="$ID3V2OPTS" fi +# Options for mkcue +case "$CUEREADERSYNTAX" in + default|mkcue) + CUEREADEROPTS="${CDROM}" + CUEREADER="$MKCUE" + ;; +esac + # Check if both OGGEOUTPUTCONTAINER and FLACOUTPUTCONTAINER are the same, and differentiante them if [ X"$OGGOUTPUTCONTAINER" = "Xogg" ] && [ X"$FLACOUTPUTCONTAINER" = "Xogg" ]; then echo "abcde error: FLAC on an Ogg container is not yet supported" >&2 @@ -2674,8 +2688,8 @@ fi if [ ! "$CDDBAVAIL" = "n" ] && [ "$DOCDDB" = "y" ]; then NEEDHTTPGET=y fi -if [ "$CUEFILE" = "y" ]; then - NEEDMKCUE=y +if [ "$MAKECUEFILE" = "y" ]; then + NEEDCUEREADER=y fi if [ X"$CDSPEEDVALUE" != "X" ]; then @@ -2732,7 +2746,7 @@ for X in $CDROMREADER $CDDISCID ${NEEDTAGGER+$TAGGER} $MP3ENCODER \ ${NEEDCOMMENTER+$VORBISCOMMENT} ${NEEDMETAFLAC+$METAFLAC} \ ${NEEDNORMALIZER+$NORMALIZER} ${NEEDEJECT+$EJECT} \ ${NEEDDISKTOOL+disktool} ${NEEDCDSPEED+$CDSPEED} \ - ${NEEDVORBISGAIN+$VORBISGAIN} ${NEEDMKCUE+$MKCUE} + ${NEEDVORBISGAIN+$VORBISGAIN} ${NEEDCUEREADER+$CUEREADER} do # Cut off the command-line options we just added in X=$(echo $X | cut -d' ' -f2) diff --git a/abcde.1 b/abcde.1 index 6d2fae6..8e5e62c 100644 --- a/abcde.1 +++ b/abcde.1 @@ -116,6 +116,10 @@ the REMOTEHOSTS configuration variable. Add replaygain information to the id3 or tag information for play normalization. Only works with MP3 and Ogg/Vorbis. .TP +.B \-s [fields...] +List, separated by comas, the fields to be shown in the CDDB parsed entries. +Right now it only uses "year" and "genre". +.TP .B \-S [speed] Set the speed of the CD drive. Needs CDSPEED and CDSPEEDOPTS set properly and both the program and device must support the capability. @@ -401,7 +405,7 @@ If set to "y", some operations which are usually now shown to the end user are visible, such as CDDB queries. Useful for initial debug and if your network/CDDB server is slow. .SH EXAMPLES -Possible ways one can call abcdeƑ +Possible ways one can call abcde .TP .B abcde Will work in most systems diff --git a/debian/changelog b/debian/changelog index ae6e75d..4e54365 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,16 @@ abcde (2.3.99-1) unstable; urgency=low -- Jesus Climent Sat, 13 Aug 2005 03:26:59 +0300 +abcde (2.3.1-1) unstable; urgency=low + + * The new "I knew there were going to be bugs" upstream release! + * MKCUE needs to be passed some $CDROM as an option, or otherwise it will + not read the CDROM, in case is not /dev/cdrom. + * Also, make the CUEREADER a bit more general, since we might be using other + CUE extractors. + + -- Jesus Climent Thu, 18 Aug 2005 23:44:20 +0300 + abcde (2.3.0-1) unstable; urgency=low * New upstream release! -- 2.20.1