FAQ entries work.
Added USEPIPES document, along with entries to include it in the tarball.
Added DEBUG information.
Added DIFFOPTS for convenient diff formating.
Added PIPERIPPER_debug variable.
Proper checking of PIPE*_* variables.
Updates:
Man page
Config file
Changelog
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
+ source and install the complementary programs (abcde is just a frontend
and its functionality is provided by other programs).
abcde needs cd-discid. Grab it from:
A. abcde now uses FreeDB by default. To use a different FreeDB mirror or
another CDDB service, change the CDDBURL option in your abcde.conf.
+Q. After requesting CDDB data, I received several answers which seem to be
+ quite alike. Can I find out the difference between some of them?
+A. Yes. When asked which one you want to select, use "X,Y" where X and Y are
+ the numbers of the selections you want to find the difference between.
+
3. FORMATS
=======
tarball:
@cd .. && tar czvf abcde_$(VERSION).orig.tar.gz \
- abcde-$(VERSION)/{Makefile,COPYING,README,TODO,FAQ,abcde,abcde.1,abcde.conf,changelog,cddb-tool,cddb-tool.1,examples/}
+ abcde-$(VERSION)/{Makefile,COPYING,README,TODO,FAQ,abcde,abcde.1,abcde.conf,changelog,cddb-tool,cddb-tool.1,examples/,USEPIPES}
--- /dev/null
+An approach for reading and encoding taken in abcde is the use of Unix pipes.
+
+By this way, a program sends as output what another programs expects as input,
+without writing the information in the hard disk.
+
+For it to work with abcde, a ripper must send the data of the CD tracks which
+are ripped to the standard output, while sending the information and error
+messages to another "stream", so that the encoder does not get confused. This
+second stream is called "standard error".
+
+The encoder program needs to be able to encode the information send to it by
+reading from the standard input (which is what the ripper sends to the standard
+output).
+
+Usually Unix/Linux programs deal with the standard input/output by using the
+special file name "-", as in the following example:
+
+cdripper -o - | audioencoder -i - -o file.ext
+
+The "cdripper" program uses the flag "-o" to identify the file it will output
+the data to. For the "audioencoder" program to be able to read the output
+through a Unix pipe (the "|" symbol), the output needs to be sent to the
+standard output using the "-" special filename.
+
+Once the output has been pipped to "audioencoder" we use the same special
+filename to read the information as input with the "-i" flag and output it to
+"file.ext" with the "-o" flag.
+
+Keep in mind that the example above is only that, an example, and every ripper
+and encoder differs from in each other in the way they interact with pipes.
+
+For one reason, not all the rippers and encoders are supported by abcde: the
+author (or the users) have not included support for them.
+
+If you plan to use a ripper or encoder which is not supported, you need to know
+how to use the ripper/encoder. For example, cdparanoia just uses "-" as the
+output filename and works. The program used to decode FLAC files (yes, abcde
+supports "ripping" from a FLAC file :) uses "-c ".
+
+To add support for a ripper called "cdripper" which uses the "-" special flag
+for outputting to the standard output, you need to open the config file (either
+/etc/abcde.conf or ~/.abcde.conf) and add the line:
+
+PIPERIPPER_cdripper="-"
+
+For an encoder called "audioencoder" which uses "--stdin" to read the pipe
+input, you need to add:
+
+PIPE_audioencoder="--stdin"
+
+Of course, you should try your configuration and report it so that it can be
+included in future versions of abcde.
+
+If you are familiar with POSIX shell programing, please open "abcde" and take a
+look at the lines below the one marked with "###USEPIPESSUPPORT###".
+
+Thanks for your time!
decho ()
{
if [ x"$DEBUG" != "x" ]; then
- DEBUGECHO=$(echo "$@" | tr -d '[]')
- echo "[DEBUG] $DEBUGECHO: `eval echo \\$${DEBUGECHO}`"
+ if echo $1 | grep -q "^\[" ; then
+ DEBUGECHO=$(echo "$@" | tr -d '[]')
+ echo "[DEBUG] $DEBUGECHO: `eval echo \\$${DEBUGECHO}`"
+ else
+ echo "[DEBUG] $1"
+ fi
fi
}
MKTOCOPTS=""
VORBISCOMMENTOPTS="-R"
METAFLACOPTS="--no-utf8-convert"
+DIFFOPTS=
# Default to one process if -j isn't specified
MAXPROCS=1
esac
fi
+###USEPIPESSUPPORT###
+
# Rippers with USEPIPE support
# FIXME # Include here all the rippers we can figure out support pipes
PIPERIPPER_cdparanoia="-"
+PIPERIPPER_debug="-"
PIPERIPPER_flac="-c "
# Encoders with USEPIPE support
mpc)
PIPEENCODERSVARCHECK="PIPE_$MPPENCODER" ;;
esac
- if [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "$" ] ; then
+ decho "PIPERIPPERSVARCHECK: $( eval echo "\$$PIPERIPPERSVARCHECK" )"
+ if [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "$" ] || \
+ [ "$( eval echo "\$$PIPERIPPERSVARCHECK" )" = "" ] ; then
log error "no support for pipes with given ripper"
log error "read the USEPIPES file from the source tarball to get help."
log error "On a Debian system, it is under /usr/share/doc/abcde/USEPIPES.gz"
exit 1;
fi
- if [ "$( eval echo "\$$PIPEENCODERSVARCHECK" )" = "$" ] ; then
+ decho "PIPEENCODERSVARCHECK: $( eval echo "\$$PIPEENCODERSVARCHECK" )"
+ if [ "$( eval echo "\$$PIPEENCODERSVARCHECK" )" = "$" ] || \
+ [ "$( eval echo "\$$PIPEENCODERSVARCHECK" )" = "" ] ; then
log error "no support for pipes with given encoder"
log error "read the USEPIPES file from the source tarball to help"
log error "on a Debian system, read /usr/share/doc/abcde/USEPIPES.gz"
.TP
.B PATHNAMES
The following configuration file options specify the pathnames of their
-respective utilities: LAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC, VORBIZE,
-OGGENC, FLAC, SPEEXENC, MPPENC, ID3, ID3V2, CDPARANOIA, CDDA2WAV, CDDAFS,
-CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3, VORBISCOMMENT, NORMALIZE, CDSPEED,
-VORBISGAIN, MKCUE and HTTPGET.
+respective utilities: LAME, TOOLAME, GOGO, BLADEENC, L3ENC, XINGMP3ENC, MP3ENC,
+VORBIZE, OGGENC, FLAC, SPEEXENC, MPPENC, ID3, ID3V2, CDPARANOIA, CDDA2WAV,
+CDDAFS, CDDISCID, CDDBTOOL, EJECT, MD5SUM, DISTMP3, VORBISCOMMENT, NORMALIZE,
+CDSPEED, VORBISGAIN, MKCUE and HTTPGET.
.TP
.B COMMAND-LINE OPTIONS
-If you wish to specify command-line options to any of the programs abcde
-uses, set the following configuration file options: LAMEOPTS, GOGOOPTS,
+If you wish to specify command-line options to any of the programs abcde uses,
+set the following configuration file options: LAMEOPTS, TOOLAMEOPTS, GOGOOPTS,
BLADEENCOPTS, L3ENCOPTS, XINGMP3ENCOPTS, MP3ENCOPTS, VORBIZEOPTS, OGGENCOPTS,
FLACOPTS, SPEEXENCOPTS, MPPENCOPTS, ID3OPTS, ID3V2OPTS, CDPARANOIAOPTS,
CDDA2WAVOPTS, CDDAFSOPTS, CDDBTOOLOPTS, EJECTOPTS, DISTMP3OPTS, NORMALIZEOPTS,
-CDSPEEDOPTS, MKCUEOPTS,VORBISCOMMMENTOPTS, METAFLACOPTS and HTTPGETOPTS.
+CDSPEEDOPTS, MKCUEOPTS,VORBISCOMMMENTOPTS, METAFLACOPTS DIFFOPTS and
+HTTPGETOPTS.
.TP
.B CDSPEEDVALUE
Set the value of the CDROM speed. The default is to read the disc as fast as
# Paths of programs to use
#LAME=lame
+#TOOLAME=toolame
#GOGO=gogo
#BLADEENC=bladeenc
#L3ENC=l3enc
# MP3:
#LAMEOPTS=
+#TOOLAMEOPTS=
#GOGOOPTS=
#BLADEENCOPTS=
#L3ENCOPTS=
#DIFFOPTS=""
#VORBISCOMMENTOPTS="-R"
#METAFLACOPTS="--no-utf8-convert"
+#DIFFOPTS=""
# Actions to take
# Comma-separated list of one or more of the following:
+abcde 2.3.99
+
+ * Added diff choice to CDDB entries ("1,4").
+ * Added SHOWCDDBFIELDS to allow the user to show YEAR and GENRE in the
+ parsed CDDB output.
+ * Suggests mkcue, and erase old cdgrab info since sarge is out.
+ * Changed cdparanoia-audio-tracks to use the status file to save the data.
+ * Added the possibility of using a singletrack flac file with an embeded
+ cuesheet as a source of tracks.
+ * Added -z for easy and quick debug.
+ * BATCH has been splitted into two options: BATCHNORM which allows, by using
+ -b, to use the -a normalize in all the files at once, and NOGAP, that by
+ using -g, introduces the lame's --nogap extension.
+ * Added replygain using the appropiate tags with Ogg/Vorbis and Ogg/FLAC.
+ * Replaygain is an action, not a flag, since it can be performed individualy
+ in the chain of events.
+ * debian/{rules,control}:
+ - Changed the target directory from tmp to abcde, to accomodate to compat
+ mode 4.
+ - Bump standards to 3.6.2.1. No changes needed.
+ * Added "decho" as a DEBUG output for some specific debug variables.
+ * Added USEPIPES file, with information about how to add Unix pipes support.
+ * Added one more checking for PIPES*_* unset variables (which means support
+ is not added to abcde).
+ * Added toolame as an optional MP3 encoder.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 8 Oct 2005 17:05:32 +0300
+
+abcde 2.3.4
+
+ * Some patches from Tom Spindler <dogcow () babymeat ! com>
+ - Added some quoting to the md5sum checkings, since the variables could be
+ null.
+ - NetBSD bits to use ftp instead on anything else to fetch stuff.
+ * do_playlist needs to convert the OUTPUT to the CONTAINERS to avoid ending
+ with playlists pointing to .vorbis files (Closes: #326487).
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 3 Sep 2005 16:50:07 +0300
+
+abcde 2.3.3
+
+ * Rips done in a single track were getting tagged as Various. Corrected.
+ * Possibly eliminated some bashisms from using a variable as a variable
+ (Closes: #324399). Thanks to A Costa.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Fri, 26 Aug 2005 01:36:35 +0300
+
+abcde 2.3.2
+
+ * Too fast... I forgot to make the tarball and change the version strings in
+ several places. Fixed.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Fri, 19 Aug 2005 00:44:37 +0300
+
+abcde 2.3.1
+
+ * 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 <jesus.climent@hispalinux.es> Thu, 18 Aug 2005 23:44:20 +0300
+
+abcde 2.3.0
+
+ * New upstream release!
+ * Defining the tracknumber now resets the first track if given a number
+ different than 1 (that is: abcde -T 1 2-10 creates songs 1 to 9).
+ * Modified the FAQ to reflect the changes on Marillat's repo
+ (Closes: #315724).
+ * Should be "space" safe: works properly when the working directory contains
+ a space (Closes: #147493).
+ * Repared the CD query for the discid code. When failing to read a disc,
+ actually report that there might be no disc in the drive.
+ * Right now, walk over the different encoders we Depends: on in Debian and
+ use the one available: if a user has a FLAC encoder, abcde will no install
+ vorbis-tools, so it will fail to run out of the box (Closes: #321216)
+ * Added CUE support. Still experimental...
+ * Added FLAC on Ogg. Still not activated, since we cannot get comments added
+ as a post-process action.
+ * Applied patches from Fedora Core (Credit goes to Nils Philippsen
+ <nphilipp@redhat.com>)
+ * Added a post_read() function to be executed before ejecting the CD.
+ * Typos reported by A Costa corrected (Closes: #311463)
+ * Problem with abcde being run in a directory with files containing only
+ numbers solved (Closes: #313628).
+ * vorbiscomment uses now "-R" (Closes: #303566).
+ * "-t" and "-T" use the first track as a starter for the track list.
+ (Closes: #305749).
+ * Added CDPARANOIACDROMBUS option to define -d in case of using IDE and SCSI
+ in case of using ide-scsi emulation layer (Closes: #290768).
+ * Define metaflac in abcde.conf (Closes: #303555)
+ * Added the default "-f" option to the configuration file, to represent the
+ actual default option.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Thu, 11 Aug 2005 00:47:27 +0300
+
+abcde 2.2.6
+
+ * Double quotation added to solve parsing * as a wildcard (Closes: #302904).
+ Thanks to Christian Grigis for the patch. Also (Closes: #268088).
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sun, 3 Apr 2005 18:18:03 +0000
+
+abcde 2.2.5
+
+ * CDPARANOIAOUTPUT missed some quotes.
+ * Removed some useless lines.
+ * If BATCH is used with ONETRACK, disable BATCH.
+ * Small typos with CDROM comparisons.
+ * Logic for CDROM variable improved.
+ * Version bumped to 2.2.5 and targeted to Sarge.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 2 Apr 2005 21:05:18 +0300
+
+abcde 2.2.4
+
+ * Changed the way we call flac, to adapt to the new times:
+ --import-vc-from= to --import-tags-from.
+ * DOSPLAYLIST was not included in the list of options.
+ * Options passed to the encoder by using <-o ogg:"-b 192"> are now
+ supported. One can modify the way abcde encodes just for the current CD.
+ * Unfortunatelly I forgot to add the starting number for tags in Ogg. For
+ MP3 is a bit more difficult, since it needs changing the X/YY code.
+ * Also, the order of the tags in metaflac is important for the utf8 names.
+ Thanks to Frederik Juul Christiani (Closes: #297482)
+ * Added CDROMID in the .conf file, for reader programs that need it
+ (Closes: #297005)
+ * Added a check for cdparanoia when encountering data-only CDs.
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Tue, 1 Mar 2005 15:14:24 +0200
+
+abcde 2.2.3
+
+ * debian/control
+ - suggest normalize-audio, since it changed its name (Closes: #287674).
+ * Use the default while erasing an existing playlist (Closes: #288835).
+ * Does not destroy track information when a track contains "=" in the name
+ (Closes: #290709).
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 22 Jan 2005 15:35:46 +0200
+
+abcde 2.2.2
+
+ * Quotes missing when evaluating a value (Closes: #284018).
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Fri, 3 Dec 2004 09:20:18 +0200
+
+abcde 2.2.1
+
+ * Spotted and solved a problem with the way the data tracks were detected
+ (Closes: #282647).
+
+ -- Jesus Climent <jesus.climent@hispalinux.es> Wed, 24 Nov 2004 22:47:54 +0200
+
abcde 2.2.0
* New release! Let's see if abcde 2.2 gets into Sarge.
- Changed the target directory from tmp to abcde, to accomodate to compat
mode 4.
- Bump standards to 3.6.2.1. No changes needed.
+ * Added "decho" as a DEBUG output for some specific debug variables.
+ * Added USEPIPES file, with information about how to add Unix pipes support.
+ * Added one more checking for PIPES*_* unset variables (which means support
+ is not added to abcde).
+ * Added toolame as an optional MP3 encoder.
- -- Jesus Climent <jesus.climent@hispalinux.es> Fri, 7 Oct 2005 21:13:12 +0300
+ -- Jesus Climent <jesus.climent@hispalinux.es> Sat, 8 Oct 2005 17:05:32 +0300
abcde (2.3.4-1) unstable; urgency=low
changelog
TODO
FAQ
+USEPIPES