Doc rework
authorJesus Climent <mooch@debian.org>
Sat, 2 Oct 2004 11:28:37 +0000 (11:28 +0000)
committerJesus Climent <mooch@debian.org>
Sat, 2 Oct 2004 11:28:37 +0000 (11:28 +0000)
new options: -t -T -w

FAQ
README
abcde
abcde.1
debian/changelog

diff --git a/FAQ b/FAQ
index 49a35f5..0624322 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -1,4 +1,28 @@
 
+1. INSTALLATION
+   ============
+   
+Q. How can I install abcde on my system?
+A. To get abcde you can use a pre-packaged version, available for Debian, 
+   FreeBSD, OpenBSD, NetBSD and others.
+   In case you want to install your own release, you need to download the
+   sources and install the complementary programs (abcde is just a frontend
+   and its functionality is provided by other programs).
+   Read 
+
+   abcde needs cd-discid. Grab it from:
+   http://www.hispalinux.es/~data/files/cd-discid/
+   
+
+2. EXECUTION
+   =========
+
+3. FORMATS
+   =======
+
+4. MISC PROBLEMS
+   ==== ========
+
 Q. What happened with normalize?
 A. Normalize has changed its name under Debian, which is the GNU/Linux 
    distribution for developing abcde (well, is The GNU/Linux Distribution
@@ -22,7 +46,8 @@ A. That is not possible, since abcde gets the information from CDDB database.
 
 Q. What formats can I encode my music to?
 A. As for version 2.2, abcde includes support for MP3, Ogg/Vorbis, 
-   Ogg/Speex, Flac and MPP/MP+(Musepack).
+   Ogg/Speex, Flac and MPP/MP+(Musepack). Support for AAC will be added once
+   an FLOSS encoder/decoder is working.
 
 Q. I have a CD with a data track, and abcde complaints it cannot read/encode
    it.
@@ -83,6 +108,16 @@ A. Check that you have modified everything in the right way. For instance, if
    own. If you use the predefined ones (wget, curl and fetch) abcde will try
    to use some defaults. Keep in mind that the output should go to the output
    as standard output, to be saved in a file for later use.
+   
+   If abcde seems to be ignoring your configuration options or not running commands
+   such as the encoder, you may have misquoted something. Config options such as
+   the following do not work:
+
+   LAMEOPTS=-h -k
+
+   Try this instead:
+
+   LAMEOPTS='-h -k'
 
 Q. My hardware player (put it here) does not recognize the playlists created
    with abcde. What I am doing wrong?
@@ -114,8 +149,13 @@ Q. (Thanks to Amaya) Where are those options and settings defined? Why dont
    you include a proper abcde.conf as an example?
 A. I do. It should be installed under /etc/abcde.conf and contains more or
    less all the defaults abcde uses. You can use $(HOME)/.abcde.conf to 
-   override those defaults.
+   override those defaults. More information can be obtained from the man page
+   which can be consulted using "man abcde".
 
+Q. I am running out of disc space.
+A. You have to options. Use -l or define WAVOUTPUTDIR=/some/other/path to your
+   /etc/abcde.conf or ~/.abcde.conf.
+   
 OBSOLETE
 --------
 Q. I set KEEPWAVS to "y" but abcde insists on erasing my directory, along
@@ -124,3 +164,6 @@ A. The default action set includes clean, which cleans the temp directory,
    if nothing goes wrong. Take the "clean" out from the action list and you
    are done.
    UPDATE: KEEPWAVS unselects now the clean action.
+
+--
+Jesus Climent <jesus.climent@hispalinux.es>
diff --git a/README b/README
index 24fc47f..adf338b 100644 (file)
--- a/README
+++ b/README
@@ -5,40 +5,39 @@ abcde is a frontend command-line utility (actually, a shell script) that
 grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or
 MPP/MP+(Musepack) format, and tags them, all in one go.
 
-Your finished Ogg/MP3/FLAC/Speex/MPP's are, by default, stored in a subdirectory 
+Your finished Ogg/MP3/FLAC/Speex/MPP's are, by default, stored in a subdirectory
 of the current directory (named after the artist) with a filename based on the
-track title. Spaces are replaced by underscores, and apostrophes and
-control codes are filtered out. Colons are replaced with an underscore and a
-hyphen. The end result usually looks like: Our_Lady_Peace/01.Supermans_Dead.ogg
-This filename munging is customizable - edit the mungefilename function in
-your abcde.conf to change it.
+track title. Spaces are replaced by underscores, and apostrophes and control
+codes are filtered out. Colons are replaced with an underscore and a hyphen. The
+end result usually looks like: Our_Lady_Peace/01.Supermans_Dead.ogg This
+filename munging is customizable - edit the mungefilename function in your
+abcde.conf to change it.
 
-Need to go through an HTTP proxy for CDDB access? No problem, just export
-your http_proxy variable first so wget/fetch/curl can see it.
+Need to go through an HTTP proxy for CDDB access? No problem, just export your
+http_proxy variable first so wget/fetch/curl can see it.
 
 You already store CDDB entries for your CD collection on your hard disk? Piece
-of cake. Just edit CDDBLOCALDIR to point to the repository and give abcde the 
+of cake. Just edit CDDBLOCALDIR to point to the repository and give abcde the
 "-L" flag to make use of it.
 
 Low on disk space? abcde has different algorithms to schedule ripping and
 encoding - to optimize for disk conservation, use -l.
 
-abcde can also take advantage of SMP systems, just like make. Try
-'abcde -j 2' - it'll run two encoder jobs while it rips the next track.
+abcde can also take advantage of SMP systems, just like make. Try 'abcde -j 2' -
+it'll run two encoder jobs while it rips the next track.
 
-abcde now uses FreeDB by default. To use a different FreeDB mirror or
-another CDDB service, change the CDDBURL option in your abcde.conf.
+abcde now uses FreeDB by default. To use a different FreeDB mirror or another
+CDDB service, change the CDDBURL option in your abcde.conf.
 
-Frustrated that you can't use the CPU power on Machine A sitting right
-next to Machine B with the fast cdrom drive? Now you don't have to be -
-Run distmp3host (included in distmp3) on Machine A, and then run
-abcde -r MachineA from Machine B (where "MachineA" is a dns name or IP
-address). Use this in combination with '-j 0' to shift all encoding off the
-local machine.
+Frustrated that you can't use the CPU power on Machine A sitting right next to
+Machine B with the fast cdrom drive? Now you don't have to be - Run distmp3host
+(included in distmp3) on Machine A, and then run abcde -r MachineA from Machine
+B (where "MachineA" is a dns name or IP address). Use this in combination with
+'-j 0' to shift all encoding off the local machine.
 
-You do not have internet connection, or just feel with free time to write 
-down all the song names and artists instead of using CDDB? Use -n and edit
-the template.
+You do not have internet connection, or just feel with free time to write down
+all the song names and artists instead of using CDDB? Use -n and edit the
+template.
 
 To make abcde 2.x work more like 1.x, put these options in your abcde.conf:
 
@@ -46,18 +45,19 @@ INTERACTIVE=n
 OUTPUTTYPE=mp3
 ID3TAGV=1
 
-NOTICE: abcde needs cd-discid. Grab it from:
-http://www.hispalinux.es/~data/files/cd-discid/
-
 MAJOR CHANGES
 =============
 Changes in 2.2-pre2:
 
 * Support for MPP/MP+(Musepack) format. It can be downloaded from 
-  corecodecs.org. It is supposed to be Free (not only free), and released
-  under the GPL...
-* New "-s <number>" option for starting the numbering of the output files at 
+  corecodecs.org. It is supposed to be Free (not only free), and released under
+  the GPL...
+* New "-w <comment>" option to add a comment for a given CD on the command
+  line.
+* New "-t <number>" option for starting the numbering of the output files at 
   a given starting number. Ideal for albums with more than one CD.
+  New "-T <number>" option, similar to "-s" but also modifies the tag entries
+  on the files themselves.
 * Support for keeping an existing playlist (and not add new entries to it),
   erase the existing one (overwrite) or append new entries to the existing
   one.
@@ -86,20 +86,20 @@ New options in 2.1.19:
 Changes in 2.1.18:
 
 * CDSPEED option defaults to eject. However, since cdparanoia has a built-in
-  option to set the speed, we use it. There is not way (right now) to force
-  the use of eject, but it will be introduced in a future release. Also one
-  can use the pre_read function to set the speed with other program.
+  option to set the speed, we use it. There is not way (right now) to force the
+  use of eject, but it will be introduced in a future release. Also one can use
+  the pre_read function to set the speed with other program.
 
 New options in 2.1.16:
 
-* -S, CDSPEED and CDSPEEDOPTS for setting the speed of the CDROM. One can 
-  set the options in abcde.conf and pass the value on the command line.
-  This option can be used with "eject -x <speed>", "setcd -x <speed>" or the
-  built-in cdparanoia option "-S <speed>", if the CD reader supports it.
+* -S, CDSPEED and CDSPEEDOPTS for setting the speed of the CDROM. One can set
+  the options in abcde.conf and pass the value on the command line.  This option
+  can be used with "eject -x <speed>", "setcd -x <speed>" or the built-in
+  cdparanoia option "-S <speed>", if the CD reader supports it.
 * Added a pre-read function. Modify it at your pleasure in abcde.conf
   One can use it to close the CD drive.
-* -m option, to modify the playlist to include CRLF in every line. Some 
-  players insist on having those to work properly with playlists.
+* -m option, to modify the playlist to include CRLF in every line. Some players
+  insist on having those to work properly with playlists.
 
 New options in 2.1.15:
 
@@ -145,13 +145,14 @@ Options added/modified from 2.0.3 to 2.1.x:
 * a new "normalize" option has been added to -a, to normalize the volume.
 * -o works now with a combination of the different outputs: ogg, mp3, flac.
   Combine them separated by ",". Example: "-o ogg,flac".
-* OUTPUTTYPE is no longer used for the output file type. From version 2.1
-  abcde implements multiple-output and the file type is always appended at
-  the end of the file. The OUTPUT variable can be used in the 
-  PLAYLISTFORMAT and OUTPUTFORMAT to create different directory structures
-  and playlist names for each of the output formats selected.
-* DYEAR can be used as DiskYear value in CDDB data. If the data is not 
-  supplied by the CDDB server, it can be added.
+* OUTPUTTYPE is no longer used for the output file type. From version 2.1 abcde
+  implements multiple-output and the file type is always appended at the end of
+  the file. The OUTPUT variable can be used in the PLAYLISTFORMAT and
+  OUTPUTFORMAT to create different directory structures and playlist names for
+  each of the output formats selected.
+
+* DYEAR can be used as DiskYear value in CDDB data. If the data is not supplied 
+  by the CDDB server, it can be added.
 
 Other options that changed from 1.x to 2.x:
 
@@ -204,25 +205,11 @@ abcde requires the following backend tools to work:
 
 Potential problems:
 
-Having trouble getting cdparanoia to read from your drive as a user?
-Add yourself to the cdrom group, change the permissions on your cdrom device
-to 660, and if you have a SCSI cdrom drive, check the permissions on
+Having trouble getting cdparanoia to read from your drive as a user?  Add
+yourself to the cdrom group, change the permissions on your cdrom device to 660,
+and if you have a SCSI cdrom drive, check the permissions on
 /dev/sg* as well.
 
-Running out of disk space for .wav files but don't want to use -l? Put them
-in a different location by adding WAVOUTPUTDIR=/some/other/path to your
-/etc/abcde.conf or ~/.abcde.conf.
-
-If abcde seems to be ignoring your configuration options or not running
-commands such as the encoder, you may have misquoted something. Config
-options such as the following do not work:
-
-LAMEOPTS=-h -k
-
-Try this instead:
-
-LAMEOPTS='-h -k'
-
 Abcde's new mailing list is abcde@listas.hispalinux.es. So far has not
 been actively used.
 The posts from non-subscribers are moderated to prevent spam.
@@ -234,5 +221,8 @@ Abcde's current page is at http://www.hispalinux.es/~data/abcde.php
 Abcde's new homepage will be at http://abcde.hispalinux.es/.
 Abcde's old homepage is at http://lly.org/~rcw/abcde/page/.
 --
-Robert Woodcock <rcw@debian.org>
 Jesus Climent <jesus.climent@hispalinux.es>
+
+abcde was originally created by Robert Woodcock <rcw@debian.org>, but is
+currently maintained by Jesus Climent <jesus.climent@hispalinux.es>
+
diff --git a/abcde b/abcde
index 65586b0..c874b1f 100755 (executable)
--- a/abcde
+++ b/abcde
@@ -40,13 +40,16 @@ echo "-o    Output file type(s) (ogg,mp3,flac,spx,mpc). Defaults to ogg"
 echo "-p    Pad track numbers with 0's (if less than 10 tracks)"
 echo "-r    [host1,host2...] Also encode on these remote hosts"
 echo "-R    Add replaygain values to the tag info (ogg,flac)"
-echo "-s    Start the track numbering at a given number"
+echo "-s    Start the track numbering at a given number [DEPRECATED: use -t]"
 echo "-S    Set the CD speed"
 #echo "-t    File types to preprocess (wav)"
 #echo "-T    Set postprocessing options"
+echo "-t    Start the track numbering at a given number"
+echo "-T    Start the track numbering at a given number, modifying tag numbering"
 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"
+echo "-w    <comment> Add a comment to the CD tracks"
 echo "Tracks is a space-delimited list of tracks to grab."
 echo "Ranges specified with hyphens are allowed."
 }
@@ -275,6 +278,13 @@ do_tag ()
 {
        COMMENTOUTPUT="$(eval echo ${COMMENT})"
        run_command '' echo "Tagging track $1 of $TRACKS: $TRACKNAME..."
+       # If we want to start the tracks with a given number, we need to modify the
+       # TRACKNUM value before evaluation
+       if [ -n "$STARTTRACKNUMBER" -a -n "$STARTTRACKNUMBERTAG" ] ; then
+               # Get the trackpadding from the current track
+               CURRENTTRACKPADDING=$(echo -n $UTRACKNUM | wc -c)
+               TRACKNUM=$( printf %0.${CURRENTTRACKPADDING}d $(expr ${UTRACKNUM} + ${STARTTRACKNUMBER} - 1 ))
+       fi
        for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
        do
        case "$OUTPUT" in
@@ -332,7 +342,7 @@ do_tag ()
                        if [ -n "$CDGENRE" ]; then
                        echo GENRE="$CDGENRE"
                 fi     
-               echo TRACKNUMBER=$1
+               echo TRACKNUMBER=${TRACKNUM:-$1}
                echo CDDB=$CDDBDISCID
                if [ "$(eval echo ${COMMENT})" != "" ]; then
                        case "$COMMENTOUTPUT" in
@@ -1043,7 +1053,7 @@ do_localcddb ()
                                #echo "Not using local copy of CDDB data"
                                CDDBLOCALSUCCESS="n"
                        fi
-               elif [ "$FORCECDDBUSELOCAL"= "y" ]; then
+               elif [ "$FORCECDDBUSELOCAL" = "y" ]; then
                        $CDDBTOOL template $(cat "$ABCDETEMPDIR/discid") > "$ABCDETEMPDIR/cddbread.0"
                        echo 998 > "$ABCDETEMPDIR/cddbquery" # Assuming 998 isn't used by CDDB
                        echo cddb-readcomplete >> "$ABCDETEMPDIR/status"
@@ -1876,7 +1886,7 @@ fi
 
 # Parse command line options
 #while getopts 1a:bc:C:d:Dhj:klLnNo:pr:S:t:T:vVx opt ; do
-while getopts 1a:A:bc:C:d:Dfhj:klLnNo:pr:Rs:S:vVx opt ; do
+while getopts 1a:A:bc:C:d:Dfhj:klLnNo:pr:Rs:S:t:T:vVxw: opt ; do
        case "$opt" in
                1) ONETRACK=y ;;
                a) ACTIONS="$OPTARG" ;;
@@ -1902,9 +1912,11 @@ while getopts 1a:A:bc:C:d:Dfhj:klLnNo:pr:Rs:S:vVx opt ; do
                R) REPLAYGAIN=y ;;
                s) STARTTRACKNUMBER="$OPTARG" ;;
                S) CDSPEEDVALUE="$OPTARG" ;;
-               t) PREPROCESSFORMATS="$OPTARG"
-                  PREPROCESS=y ;;
-               T) POSTPROCESSFORMATS="$OPTARG" ;;
+#              t) PREPROCESSFORMATS="$OPTARG"
+#                 PREPROCESS=y ;;
+#              T) POSTPROCESSFORMATS="$OPTARG" ;;
+               t) STARTTRACKNUMBER="$OPTARG" ;;
+               T) STARTTRACKNUMBER="$OPTARG" ; STARTTRACKNUMBERTAG="y" ;;
                v) 
                   echo "This is abcde v$VERSION."
                   echo "Usage: abcde [options] [tracks]"
@@ -1913,6 +1925,7 @@ while getopts 1a:A:bc:C:d:Dfhj:klLnNo:pr:Rs:S:vVx opt ; do
                   ;;
                V) EXTRAVERBOSE="y" ;;
                x) EJECTCD="y" ;;
+               w) COMMENT="$OPTARG" ;;
                ?) usage; exit ;;
        esac
 done
diff --git a/abcde.1 b/abcde.1
index eb79db5..d97a78f 100644 (file)
--- a/abcde.1
+++ b/abcde.1
@@ -108,13 +108,20 @@ Remote encode on this comma-delimited list of machines using distmp3. See
 the REMOTEHOSTS configuration variable.
 .TP
 .B \-s [number]
-Start the numbering of the tracks at a given number. It only affects the
-filenames and the playlist. Internal (tag) numbering remains the same.
+[DEPRECATED: use -t, see below]
 .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.
 .TP
+.B \-t [number]
+Start the numbering of the tracks at a given number. It only affects the
+filenames and the playlist. Internal (tag) numbering remains the same.
+.TP
+.B \-T [number]
+Same as \-t but changes also the internal (tag) numbering. Keep in mind that
+the default TRACK tag for MP3 is $T/$TRACKS so it is changed to simply $T.
+.TP
 .B \-v
 Show the version and exit
 .TP
@@ -339,6 +346,11 @@ preparation actions. The default function is empty.
 .B EJECTCD
 If set to "y", abcde will call eject(1) to eject the cdrom from the drive
 after all tracks have been read.
+.TP
+.B EXTRAVERBOSE
+If set to "y", some operations which are usually now shown to the end user
+are visible, such as CDDB queries. Usefull for initial debug and if your
+network/CDDB server is slow.
 .SH BACKEND TOOLS
 abcde requires the following backend tools to work:
 .TP
index a8346df..1215ccc 100644 (file)
@@ -38,8 +38,12 @@ abcde (2.1pre2.2.0-1) experimental; urgency=low
   * New -f to force local CDDB or fallback to template (no network).
   * Small patch to support ()'s in the path under MacOSX. Thanks to Evan Jones
     for noticing and sending the patch.
+  * Added -w for COMMENT seed. Used to give a comment to a given CD.
+  * Added -t as an alias for -s (deprecated in favor of -t)
+  * Added -T to modify also the tag entries on the songs. Currently available
+    for FLAC and Ogg/Vorbis.
 
- -- Jesus Climent <jesus.climent@hispalinux.es>  Sat, 25 Sep 2004 20:26:03 +0000
+ -- Jesus Climent <jesus.climent@hispalinux.es>  Sat,  2 Oct 2004 10:31:23 +0000
 
 abcde (2.1.19-1) unstable; urgency=low