From: data Date: Sun, 9 Oct 2005 20:33:45 +0000 (+0000) Subject: r201@frost: data | 2005-10-09 23:33:37 +0300 X-Git-Url: https://git.hcoop.net/clinton/abcde.git/commitdiff_plain/c1bbe6c367f229b5695e8800e819a22052a52079?hp=84baf0b1bed52e82f4a7779c7f3ed24b97c5b906;ds=sidebyside r201@frost: data | 2005-10-09 23:33:37 +0300 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 git-svn-id: http://abcde.googlecode.com/svn/trunk@143 a0fa61bc-5347-0410-a1a9-7f54aa4e1825 --- diff --git a/FAQ b/FAQ index 5530971..a0a1baf 100644 --- a/FAQ +++ b/FAQ @@ -14,7 +14,7 @@ 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 + 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: @@ -170,6 +170,11 @@ Q. How can I use some other CDDB information provider? 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 ======= diff --git a/Makefile b/Makefile index fa4277f..778677b 100644 --- a/Makefile +++ b/Makefile @@ -24,5 +24,5 @@ install: 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} diff --git a/USEPIPES b/USEPIPES new file mode 100644 index 0000000..f55e651 --- /dev/null +++ b/USEPIPES @@ -0,0 +1,57 @@ +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! diff --git a/abcde b/abcde index d23fc80..24c32fc 100755 --- a/abcde +++ b/abcde @@ -2275,8 +2275,12 @@ fi 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 } @@ -2445,6 +2449,7 @@ MKCUEOPTS= MKTOCOPTS="" VORBISCOMMENTOPTS="-R" METAFLACOPTS="--no-utf8-convert" +DIFFOPTS= # Default to one process if -j isn't specified MAXPROCS=1 @@ -3017,9 +3022,12 @@ if [ X"$CDSPEEDVALUE" != "X" ]; then 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 @@ -3045,13 +3053,17 @@ if [ "$USEPIPES" = "y" ]; then 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" diff --git a/abcde.1 b/abcde.1 index 18a766d..f850658 100644 --- a/abcde.1 +++ b/abcde.1 @@ -284,18 +284,19 @@ with distmp3 (DISTMP3NICE). .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 diff --git a/abcde.conf b/abcde.conf index cae224c..a144491 100644 --- a/abcde.conf +++ b/abcde.conf @@ -101,6 +101,7 @@ # Paths of programs to use #LAME=lame +#TOOLAME=toolame #GOGO=gogo #BLADEENC=bladeenc #L3ENC=l3enc @@ -144,6 +145,7 @@ # MP3: #LAMEOPTS= +#TOOLAMEOPTS= #GOGOOPTS= #BLADEENCOPTS= #L3ENCOPTS= @@ -182,6 +184,7 @@ #DIFFOPTS="" #VORBISCOMMENTOPTS="-R" #METAFLACOPTS="--no-utf8-convert" +#DIFFOPTS="" # Actions to take # Comma-separated list of one or more of the following: diff --git a/changelog b/changelog index cbbd24f..c0eb785 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,159 @@ +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 Sat, 8 Oct 2005 17:05:32 +0300 + +abcde 2.3.4 + + * Some patches from Tom Spindler + - 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 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 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 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 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 + ) + * 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 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 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 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 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 Sat, 22 Jan 2005 15:35:46 +0200 + +abcde 2.2.2 + + * Quotes missing when evaluating a value (Closes: #284018). + + -- Jesus Climent 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 Wed, 24 Nov 2004 22:47:54 +0200 + abcde 2.2.0 * New release! Let's see if abcde 2.2 gets into Sarge. diff --git a/debian/changelog b/debian/changelog index a9f1105..01128a5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,8 +18,13 @@ abcde (2.3.99-1) unstable; urgency=low - 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 Fri, 7 Oct 2005 21:13:12 +0300 + -- Jesus Climent Sat, 8 Oct 2005 17:05:32 +0300 abcde (2.3.4-1) unstable; urgency=low diff --git a/debian/docs b/debian/docs index e8868a0..9d1ff72 100644 --- a/debian/docs +++ b/debian/docs @@ -2,3 +2,4 @@ README changelog TODO FAQ +USEPIPES