+0. INTRODUCTION
+ ============
+
+Q. Who created abcde? Who develops it nowadays?
+A. It was originally created by Robert Woodcook. He decided to give up
+ maintaining it at some point in 2002 and Jesus Climent took over. Contact
+ jesus.climent@hispalinux.es if you have a problem or a suggestion.
+
1. INSTALLATION
============
abcde needs cd-discid. Grab it from:
http://www.hispalinux.es/~data/files/cd-discid/
+
+ Read the README files for a complete list of requirements.
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
- i only use, at the moment). Now it is called normalize-audio.
- If you are using some other flavour of OS, you need to change the name
- of the executable in your abcde.conf file.
-
-Q. I am using MacOSX and I am having problems to use abcde.
-A. Well, I have a Mac, but I use linux on it. I have not been able to find
- a way to make it work there, since I do not have the development tools
- installed. I have placed a basic support, but some user reports are just
- complaining about abcde not encoding the ripped tracks, as if
- cdda2wav/cdparanoia/cddafs would never end reading them. If you have such
- a system and experience problems, please, report them, and I will try to
- work them out with your help.
+Q. Low on disk space?
+A. abcde has different algorithms to schedule ripping and encoding - to
+ optimize for disk conservation, use -l. You can also define
+ WAVOUTPUTDIR=/some/other/path to your /etc/abcde.conf or ~/.abcde.conf to
+ store the WAV files on another NFS shared fisk, for example.
+
+Q. How can i make abcde encode faster? My CD reader is way faster than the pace
+ it can encode my tracks.
+A. abcde can take advantage of SMP systems, just like make. Try 'abcde -j 2' -
+ it'll run two encoder jobs while it rips the next track.
+ You can also make use of systems which are networked, with the help of
+ distmp3. For example, MachineA has a better CPU power and MachineB has a CD
+ drive. Run distmp3host (included in distmp3) on Machine A, and then run
+ abcde -r MachineA from MachineB (where "MachineA" is a dns name or IP
+ address). Use this in combination with '-j 0' to shift all encoding off the
+ local machine.
+
+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.
Q. I would like to give the trackname and the artist_name directly to the
encoder (in my case oggenc), but found no documentation.
A. That is not possible, since abcde gets the information from CDDB database.
- You can create a template and fill it with the option "-n".
+ You can create a template and fill it with the option "-n". Also, you can
+ get the CDDB entry and edit it yourself. abcde has also an option to drop
+ back to a template if you like none of the CDDB entries, selecting 0 from
+ the CDDB options.
-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). Support for AAC will be added once
- an FLOSS encoder/decoder is working.
+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. More information can be obtained from the man page
+ which can be consulted using "man abcde".
+
+Q. I keep on getting files with ".ogg.ogg" extension. What am I doing wrong?
+A. The code for multiple-output adds automatically the extension of the
+ different outputs you select with the "-o" extension (or with OUTPUTTYPE
+ variable). Erase the ".${OUTPUTTYPE}" part from the OUTPUTFORMAT variable
+ in /etc/abcde.conf or ~/.abcde.conf
+
+Q. I have modified some of the options, and now CDDB has stopped working.
+A. Check that you have modified everything in the right way. For instance, if
+ you modify the HTTPGET program you might want to set some options of your
+ 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. How can I separate the different output files I get using multiple-output
+ support?
+A. Use the OUTPUT variable in PLAYLISTFORMAT and OUTPUTFORMAT. It holds the
+ different output file types you passed to abcde (i.e., ogg, mp3, flac)
+ during playlist creation and file/directory creation.
Q. I have a CD with a data track, and abcde complaints it cannot read/encode
it.
Version 2.2 includes some checkings with cdparanoia, to try to get this
right.
-Q. How can I separate the different output files I get using multiple-output
- support?
-A. Use the OUTPUT variable in PLAYLISTFORMAT and OUTPUTFORMAT. It holds the
- different output file types you passed to abcde (i.e., ogg, mp3, flac)
- during playlist creation and file/directory creation.
+Q. I am requested to have "eject" when setting the speed although I do not use
+ it for anything.
+A. If you do not use cdparanoia, eject is used for setting the speed of the
+ cdrom drive. You can substitute it for "setcd" with "-x" as the argument,
+ but you have to install it manually (setcd is, at least, available in
+ Debian).
+ Another way to get the same results is using the pre_read function, defined
+ in your /etc/abcde.conf file.
-Q. I keep on getting files with ".ogg.ogg" extension. What am I doing wrong?
-A. The code for multiple-output adds automatically the extension of the
- different outputs you select with the "-o" extension (or with OUTPUTTYPE
- variable). Erase the ".${OUTPUTTYPE}" part from the OUTPUTFORMAT variable
- in /etc/abcde.conf or ~/.abcde.conf
+Q. I have a CD set with 1+ discs, and want to have them in the same directory,
+ sorted properly. What can abcde do for me?
+A. Set abcde to rip the first CD and give it the option "-t 101". Use a generic
+ name for the CD, and reuse it with the rest of the CDs, editing the CDDB
+ entries. Use "-t 201" for the second CD and so on. Use "-w <comment>" to
+ add a comment about the CD you are ripping (-w "disc #"). Alternatively you
+ can use only the "-t ###" option and then move all the files to the same
+ directory. If you want the tagged track number to be set to the modified
+ number you should use "-T ###".
+
+Q. I have a live concert. I want to encode it in a single file. How do i do it?
+A. Use "-1" and it will be encoded in a single file.
+
+3. CDDB
+ ====
+
+Q. I need to go through an HTTP proxy for CDDB access.
+A. No problem, just export your http_proxy variable first so wget/fetch/curl
+ can see it.
+
+Q. I already store CDDB entries in my hard disc. Can I make use of them?
+A. Piece of cake. Just edit CDDBLOCALDIR to point to the repository and give
+ abcde the "-L" flag to make use of it.
+
+Q. Fine, now it uses local CDDB, but I have no network connection. How can I
+ disable CDDB checks?
+A. Use the "-L -n" combination. It will try to use local CDDB entries, and if
+ nothing can be found, it will use a template. You will be also given the
+ choice to edit such template.
+
+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.
+
+
+3. FORMATS
+ =======
+
+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). Support for AAC will be added once
+ an FLOSS encoder/decoder is working.
+
+Q. I want the new *put the newest and coolest codec there* format to be
+ supported by abcde. Abcde is so cool but i want to encode also to this
+ new format...
+A. Patches are welcome! ;)
+ No, seriously, if the format is usable, available for Linux and open
+ source/free software, it should be fairly easy to integrate. Support for
+ AAC (m4p) should be the next one to be introduced.
Q. I use Debian/RedHat/(put your Unix flavour here) and MP3 encoding is not
working. What am I doing wrong?
Others : Please, help me here.
-Q. I have modified some of the options, and now CDDB has stopped working.
-A. Check that you have modified everything in the right way. For instance, if
- you modify the HTTPGET program you might want to set some options of your
- 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.
+Q. Huh! Why is MPPENCODER (with MPP) and .mpc the extension?
+A. Dunno. You must ask the guys who created and defined the format. The
+ standard is MPEGplus (MPP/MP+) but the files use .mpc extension.
- 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
+
+4. MISC PROBLEMS
+ ==== ========
- Try this instead:
+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
+ i only use, at the moment). Now it is called normalize-audio.
+ If you are using some other flavour of OS, you need to change the name
+ of the executable in your abcde.conf file.
- LAMEOPTS='-h -k'
+Q. I am using MacOSX and I am having problems to use abcde.
+A. Well, I have a Mac, but I use linux on it. I have not been able to find
+ a way to make it work there, since I do not have the development tools
+ installed. I have placed a basic support, but some user reports are just
+ complaining about abcde not encoding the ripped tracks, as if
+ cdda2wav/cdparanoia/cddafs would never end reading them. If you have such
+ a system and experience problems, please, report them, and I will try to
+ work them out with your help.
Q. My hardware player (put it here) does not recognize the playlists created
with abcde. What I am doing wrong?
A. Try using "-m" when creating the playlists, or setting DOSPLAYLIST as an
option in the config file.
-Q. I am requested to have eject when setting the speed although I do not use
- for anything.
-A. If you do not use cdparanoia, eject is used for setting the speed of the
- cdrom drive. You can substitute it for "setcd" with "-x" as the argument,
- but you have to install it manually (setcd is, at least, available in
- Debian).
- Another way to get the same results is using the pre_read function, defined
- in your /etc/abcde.conf file.
-
-Q. Huh! Why is MPPENCODER (with MPP) and .mpc the extension?
-A. Dunno. You must ask the guys who created and defined the format. The
- standard is MPEGplus (MPP/MP+) but the files use .mpc extension.
-
-Q. I want the new *put the newest and coolest codec there* format to be
- supported by abcde. Abcde is so cool but i want to encode also to this
- new format...
-A. Patches are welcome! ;)
- No, seriously, if the format is usable, available for Linux and open
- source/free software, it should be fairly easy to integrate. Support for
- AAC (m4p) should be the next one to be introduced.
-
-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. 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
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.
-
-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
-"-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 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.
-
-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.
+Many of the questions related of problems executing abcde have been moved to the
+FAQ, which should be distributed along with this package. Reffer to that file
+for help.
To make abcde 2.x work more like 1.x, put these options in your abcde.conf:
system.
* New mungegenre function to switch off (or modify) the default behaviour of
transforming uppercase characters to lowercase.
-* No network but you have been using abcde with local CDDB storage before?
- Use -f and it will try the local CDDB and fallback to an empty template.
Changes in 2.2-pre1:
* (optional) distmp3, a client/server for distributed mp3 encoding.
You can get distmp3 at http://wlug.westbo.se/medlprog/medlprog.html
-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
-/dev/sg* as well.
-
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.
http://lly.org/~rcw/abcde/list/current/threads.html
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/.
--
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>
+abcde was originally created by Robert Woodcock <rcw@debian.org>
* read the TOC and CDTEXT files and store them
* read the complete CD to a single file, storing TOC seems a good idea to
recreate the index entries if we decide to burn the cd.
-* Make concatenating CD1...Cdn sets into one album possible: Maybe a "start
- with number for files" flag?
* read_and_encode function that uses named pipes for further ripping/encoding
parallelization where possible
echo "-C Specify discid to resume from (only needed if you no longer have the cd)"
echo "-d Specify CDROM device to grab"
echo "-D Debugging mode (equivalent to sh -x abcde)"
-echo "-f Force the use of a local CDDB entry. Use an empty template if not found"
echo "-h This help information"
#echo "-i Tag files while encoding, when possible (local only) -NWY-"
echo "-j Number of encoder processes to run at once"
echo "-m Modify playlist to include CRLF endings, to comply with some players"
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 "-P Use UNIX pipes to read+encode without wav files"
echo "-r [host1,host2...] Also encode on these remote hosts"
-echo "-R Add replaygain values to the tag info (ogg,flac)"
+echo "-R Add replaygain values to the tag info (only for ogg,flac)"
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 "-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 "-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."
}
for OUTPUT in $(echo $OUTPUTTYPE | tr , \ )
do
OUT="$ABCDETEMPDIR/track$1.$OUTPUT"
- run_command '' echo "Encoding track $1 of $TRACKS: $TRACKNAME..."
+ echo "Encoding track $1 of $TRACKS: $TRACKNAME..." >&2
case "$OUTPUT" in
mp3)
case "$2" in
# Create the discid file
echo "$TRACKINFO" > "$ABCDETEMPDIR/discid"
-
- # Determine what actions are to be done from $ACTIONS and set the
- # following environment variables for them:
- DOCDDB=n
- DOREAD=n
- DONORMALIZE=n
- DOPREPROCESS=n
- DOENCODE=n
- DOPOSTPROCESS=n
- DOTAG=n
- DOMOVE=n
- DOPLAYLIST=n
- DOCLEAN=n
-
- for ACTION in $(echo $ACTIONS | tr , \ )
- do
- case $ACTION in
- cddb) DOCDDB=y;;
- read) DOREAD=y;;
- normalize) DONORMALIZE=y; DOREAD=y;;
- preprocess) DOPREPROCESS=y; DOREAD=y;;
- encode) DOENCODE=y; DOREAD=y;;
- postprocess) DOPREPROCESS=y; DOENCODE=y; DOREAD=y;;
- tag) DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;;
- move) DOMOVE=y; DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;;
- playlist) DOCDDB=y; DOPLAYLIST=y;;
- clean) DOCLEAN=y;;
- esac
- done
}
# do_cddbparse
#echo "Not using local copy of CDDB data"
CDDBLOCALSUCCESS="n"
fi
- 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"
- do_cddbparse "${CDDBLOCALFILE}" > "$ABCDETEMPDIR/cddbchoices"
- echo cddb-choice=0 >> "$ABCDETEMPDIR/status"
CDDBLOCALSUCCESS="y"
else
CDDBLOCALSUCCESS="n"
fi
}
+# User-redefinable functions
+# Custom filename munging:
+mungefilename ()
+{
+ echo "$@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\]
+}
+
+# Custom genre munging:
+mungegenre ()
+{
+ echo $CDGENRE | tr "[:upper:]" "[:lower:]"
+}
+
+# pre_read
+# Empty pre_read function, to be defined in the configuration file.
+pre_read ()
+{
+:
+}
+
+# End of functions
+#
# Start of execution
# Builtin defaults
# List of actions to perform - by default, run to completion
ACTIONS=cddb,read,encode,tag,move,clean
-# User-redefinable functions
-# Custom filename munging:
-mungefilename ()
-{
- echo "$@" | sed s,:,\ -,g | tr \ /\* __+ | tr -d \'\"\?\[:cntrl:\]
-}
-
-# Custom genre munging:
-mungegenre ()
-{
- echo $CDGENRE | tr "[:upper:]" "[:lower:]"
-}
-
-# pre_read
-# Empty pre_read function, to be defined in the configuration file.
-pre_read ()
-{
-:
-}
-
# Asume fetch if under FreeBSD. curl is used for Mac OS X. wget is used for Linux/OpenBSD/NetBSD.
# Let's use these checkings to determine the OS flavour, which will be used later
if [ X$(uname) = "XFreeBSD" ] ; then
fi
# By this time, we need some HTTPGETOPTS already defined.
-# If the user has defined its own, we should not be empty.
+# If the user has defined a non-default HTTPGET method, we should not be empty.
if [ "$HTTPGETOPTS" = "" ] ; then
case $HTTPGET in
# 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:t:T:vVxw: opt ; do
+while getopts 1a:A:bc:C:d:Dhj:klLnNo:pr:Rs:S:t:T:vVxw: opt ; do
case "$opt" in
1) ONETRACK=y ;;
a) ACTIONS="$OPTARG" ;;
d) CDROM="$OPTARG" ;;
D) set -x ;;
h) usage; exit ;;
- f) FORCECDDBUSELOCAL=y ;;
+# f) FORCECDDBUSELOCAL=y ;;
i) INLINETAG=y ;;
j) MAXPROCS="$OPTARG" ;;
k) KEEPWAVS=y ;;
l) LOWDISK=y ;;
- L) CDDBUSELOCAL="y" ;;
- n) CDDBAVAIL="n" ;;
- N) INTERACTIVE="n" ;;
+ L) CDDBUSELOCAL=y ;;
+ n) CDDBAVAIL=n ;;
+ N) INTERACTIVE=n ;;
m) DOSPLAYLIST=y ;;
o) OUTPUTTYPE="$OPTARG" ;;
- p) PADTRACKS="y" ;;
+ p) PADTRACKS=y ;;
+ P) USEPIPES=y ;;
r) REMOTEHOSTS="$OPTARG" ;;
R) REPLAYGAIN=y ;;
s) STARTTRACKNUMBER="$OPTARG" ;;
done
fi
+# List of valid actions: cddb,read,normalize,encode,tag,move,playlist,clean
+# List of experimental actions: retag,transcode
+
+# Determine what actions are to be done from $ACTIONS and set the
+# following environment variables for them:
+DOCDDB=n
+DOREAD=n
+DONORMALIZE=n
+DOPREPROCESS=n
+DOENCODE=n
+DOPOSTPROCESS=n
+DOTAG=n
+DOMOVE=n
+DOPLAYLIST=n
+DOCLEAN=n
+
+for ACTION in $(echo $ACTIONS | tr , \ )
+do
+ case $ACTION in
+ cddb) DOCDDB=y;;
+ read) DOREAD=y;;
+ normalize) DONORMALIZE=y; DOREAD=y;;
+# preprocess) DOPREPROCESS=y; DOREAD=y;;
+ encode) DOENCODE=y; DOREAD=y;;
+# postprocess) DOPREPROCESS=y; DOENCODE=y; DOREAD=y;;
+ tag) DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;;
+ move) DOMOVE=y; DOTAG=y; DOREAD=y; DOENCODE=y; DOCDDB=y;;
+ playlist) DOCDDB=y; DOPLAYLIST=y;;
+ clean) DOCLEAN=y;;
+ esac
+done
+
+# Sanity checks:
+
# At this point a CDROM has to be defined, so we check it exists.
if [ "$CDROM" != "" ] ; then
if [ "$CDROMREADERSYNTAX" = "cdda2wav" ] && [ "$NEEDCDROMID" = "y" ] ; then
do
case $OUTPUT in
ogg) [ "$OGGENCODERSYNTAX" = "default" ] && OGGENCODERSYNTAX=oggenc
- echo $ACTIONS | grep tag > /dev/null 2>&1 && NEEDCOMMENTER=y
- if [ "$REPLAYGAIN" = "y" ]; then NEEDVORBISGAIN=y; fi
+ [ "$DOTAG" = "y" ] && NEEDCOMMENTER=y
+ [ "$REPLAYGAIN" = "y" ] && NEEDVORBISGAIN=y
;;
mp3) [ "$MP3ENCODERSYNTAX" = "default" ] && MP3ENCODERSYNTAX=lame
- echo $ACTIONS | grep tag > /dev/null 2>&1 && NEEDTAGGER=y
+ [ "$DOTAG" = "y" ] && NEEDTAGGER=y
;;
flac) [ "$FLACENCODERSYNTAX" = "default" ] && FLACENCODERSYNTAX=flac
- echo $ACTIONS | grep tag > /dev/null 2>&1 && NEEDMETAFLAC=y
+ [ "$DOTAG" = "y" ] && NEEDMETAFLAC=y
;;
spx) [ "$SPEEXENCODERSYNTAX" = "default" ] && SPEEXENCODERSYNTAX=speexenc ;;
mpc) [ "$MPPENCODERSYNTAX" = "default" ] && MPPENCODERSYNTAX=mppenc ;;
# Don't check for stuff if it's not needed
if [ "$REMOTEHOSTS" ]; then NEEDDISTMP3=y; fi
-if echo $ACTIONS | grep normalize > /dev/null 2>&1 ; then NEEDNORMALIZER=y; fi
-if [ "$EJECTCD" = "y" ]; then NEEDEJECT=y; fi
-if echo $ACTIONS | grep cddb > /dev/null 2>&1 ; then NEEDHTTPGET=y ; fi
+[ "$DONORMALIZE" = "y" ] && NEEDNORMALIZER=y
+[ "$EJECTCD" = "y" ] && NEEDEJECT=y
+[ ! "$CDDBAVAIL" = "n" ] && [ "$DOCDDB" = "y" ] && NEEDHTTPGET=y
if [ X"$CDSPEEDVALUE" != "X" ]; then
case "$CDROMREADERSYNTAX" in
# Here it used to say:
# One thousand lines in, we can start doing stuff with things
-# Well, right now we are at line 2139 ;)
-
-# List of valid actions: cddb,read,normalize,encode,tag,playlist,move,clean
-# List of experimental actions: retag,transcode
+# Well, right now we are at line 2157 ;)
# Export needed things so they can be read in this subshell
export CDDBTOOL ABCDETEMPDIR TRACKQUEUE LOWDISK EJECTCD EJECT EJECTOPTS
if [ $CDDBUSELOCAL = "y" ]; then
do_localcddb
fi
- ## FIXME ## ! is non-portable
- if ! checkstatus cddb-choice > /dev/null && [ ! "$CDDBLOCALSUCCESS" = "y" ] ; then
- do_cddbstat
- do_cddbquery
- do_cddbread
+ if checkstatus cddb-choice > /dev/null; then
+ :
+ else
+ if [ ! "$CDDBLOCALSUCCESS" = "y" ] ; then
+ do_cddbstat
+ do_cddbquery
+ do_cddbread
+ fi
fi
do_cddbedit
vecho "Querying the CD to obtain a list of valid audio tracks..."
$CDROMREADER -Q > $ABCDETEMPDIR/cdparanoia-query 2>&1
# Obtain a list of valid audio tracks from the results of the query
- CDTRACKQUEUE=$( cat $ABCDETEMODIR/cdparanoia- | egrep '^[[:space:]]+[[:digit:]]' | awk '{print $1}' | tr -d "." | tr '\n' ' ' )
+ CDTRACKQUEUE=$( cat $ABCDETEMPDIR/cdparanoia-query | egrep '^[[:space:]]+[[:digit:]]' | awk '{print $1}' | tr -d "." | tr '\n' ' ' )
fi
# Obtain the track padding value from the before-processing list and pad the CD list
TRACKNUMPADDING=$( echo $TRACKQUEUE | awk '{print $1}' | tr -d " \n" | wc -c )
.BR distmp3host (1),
.BR curl(1)
.SH AUTHORS
-Robert Woodcock <rcw@debian.org>
-Jesus Climent <jesus.climent@hispalinux.es>
+Robert Woodcock <rcw@debian.org>,
+Jesus Climent <jesus.climent@hispalinux.es> and contributions from many others.
# on the local machine (requires distmp3 to be installed on local machine and
# distmp3host to be installed and running on all remote machines - see README)
#REMOTEHOSTS=foo,bar,baz,quux,qiix
+
+# Set to obtain some information about actions happening in the background
+# Usefull if you have a slow network or CDDB servers seem irresponsive.
+#EXTRAVERBOSE=n
- On the MacOS X, I still do not know if abcde works correctly. If does
not, please, drop a note. Or else.
* DOSPLAYLIST also changes "/" with "\".
- * Option "-s <number>" added to modify the numbering from a starting point
- (Closes: #95828). Geez! That is low bug number...
* DATA tracks are now excluded from the ripping process using internally
the cdparanoia "-Q" query option. If using another ripper, it does not
work (at least there is no support for them in abcde)
* New "0" choice for "None of the above" has been introduced. If selected, a
template is created and the user encouraged to edit it (Closes: #147683).
* New options for when the PLAYLIST already exists: erase, append or keep.
- * Small bug fixes along the code:
+ * Bug fixes along the code:
- abcde.1 corrections and additions
- - abcde corrections
+ - abcde corrections and code reorganization. abcde now exits earlier if
+ some of the options are incompatible. Also the actions are set as
+ variables earlier, so we use less calls to external tools.
- abcde.conf additions
* The GENRE is munged now in its own mungegenre function, so that no more
upper-to-lowercase is done (forced) except if the default is used.
* Examples added to the tarball and /usr/share/doc/abcde/examples with two
scripts to make abcde kind-of-a ripper daemon.
- * Changed to experimental to have an stable 2.1.20 version in Sarge.
+ * Changed to experimental to have an stable 2.1.x version in Sarge.
* Add CDDB information to Ogg/Vorbis and FLAC files (Closes: #265358).
* Added INTERACTIVE option. Set it to "n" and there you go, without user
interaction.
* Changes normalize to normalize-audio (Closes: #267053)
* Copes with wav files being erased by the ripping tool.
- * 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)
+ * Option "-t <number>" added to modify the numbering from a starting point
+ (Closes: #95828). Geez! That is low bug number...
* Added -T to modify also the tag entries on the songs. Currently available
for FLAC and Ogg/Vorbis.
-This package was debianized by Robert Woodcock <rcw@debian.org> on
-Sun, 21 Feb 1999 18:50:34 -0800.
+The software was originally developed by Robert Woodcock <rcw@debian.org>.
+It was also debianized by Robert Woodcock on Sun, 21 Feb 1999 18:50:34 -0800.
It is available at: http://www.hispalinux.es/~data/abcde.php
-Upstream Authors: Robert Wookcock
- Jesus Climent <jesus.climent@hispalinux.es>
+Upstream Author: Jesus Climent <jesus.climent@hispalinux.es>
+Original Author: Robert Woodcook
Copyright: