/////RIPPON! version 0.08 /////Alex's CD Ripping Script ########################## ### COPYING CONDITIONS ### ########################## Copyleft (C) 1999 H. Alex LaHurreau This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ################ ### FEATURES ### ################ Here are the features of RIPPON! * Runs from the console, or an XTerm (or other terminal emulator). * Doesn't mangle filenames. * My signature Paranoiac Checks(tm). * Outputs machine-readable .nfo files if the ID3 tags can't hold all the information. These will be replaced as soon as real ID3v2 support emerges. * Reads info from CD-Tool's or Workman's database. * Allows easy setting of the output directory and CD-ROM device. * Uses CD-Paranoia and Lame. ################### ### MOTIVATIONS ### ################### I have been using a program called Grip to rip and encode my CD collection, but I found it quite annoying. 1. It only read from CDDB, so any CD's that weren't in CDDB had to have their information entered manually, and the ones that were in CDDB usually had to be corrected. Since I use CD-Tool most of the time, I was forced to enter the CD information twice. 2. It seemed impossible to convince Grip to put the files in a directory of my choosing. Everytime I set it up to do this, it would put them into ~/mp3 anyway. 3. Grip is graphical, so I was forced to load up X every time I wanted to rip a CD, and had to stay in X while I was ripping it. (I mostly use the console, it's faster.) 4. Grip crashed unless I allowed it to "escape" strange characters in filenames (such as `(', `)', `?', and `"'). Since I only use playing programs that can handle such characters, I had no need for this "feature". So, with these things in mind, I set out to write my own ripping program. ################### ### MANUAL PAGE ### ################### NAME rippon - Rips a CD, yeah! SYNOPSIS rippon [options] DESCRIPTION RIPPON! is a 'wrapper script' which automatically rips, encodes, and tags a CD. Unlike most CD ripping programs, RIPPON! gets it's disc information from Workman's (or cdtool's) database. This means that you do not have to maintain separate databases for your CD player and your ripping program (if you use Workman or cdtool, that is). OPTIONS General Options --usage, --help, -? Prints a short usage message, then exits -v, --verbose Prints verbose messages. This is mostly useful for debugging. You can use the --noverbose switch to turn off verbose messages. -o, --output-to Set the output directory (defaults to ~/mmedia/Music/) If this directory does not exist, it is created. -W, --save-wavs Don't delete the temporary WAV files made by cdparanoia. Use this option if you want to burn a CD with these WAVs after the rip. -T, --temp-dir Sets the directory where RIPPON! will put its temporary WAV and MP3 files. The default output location is /tmp. Ripping Options -r, --reset Reset the CD-ROM drive. This may be required if you have some dodgy hardware. -d, --device Sets the fully-qualified path of the CD-ROM device. (Default is /dev/cdrom) -s, --skip Allow CD Paranoia to "skip" bad parts of the CD. The default is --noskip, but that might cause CD Paranoia to run forever. USE THIS OPTION WITH CARE, IT MAY CREATE BAD RIPS! Encoding Options -m, --mode Sets the encoding mode. Possible values are: [s]tereo, [j]oint-stereo, [m]ono, or [f]orce ms-stereo. The default is stereo, but you may prefer the lower quality joint-stereo. -b, --bitrate Sets the encoding bit rate in kbps. Possible values are: 32 48 56 64 80 96 112 128 160 192 224 256 320 The default is 160 kbps, but you may prefer the lower quality 128 kbps. -f, --free This CD's contents are in the public domain. Database and Tagging Options -a, --artist Sets the main artist for this CD. Doesn't affect multi- artist discs. This value will replace the one in the database. -t, --title Sets the title for this CD. This value will replace the one in the database. -g, --genre Sets the genre for the current disc. This *must* be the ID3 genre number. Use `id3 -L' to find the genre number you want. -y, --year Sets the year this CD was published. This value will replace the one in the database. ENVIRONMENT RIPPON! reads the contents of the environmental variable `RIPPON' on startup. If you want to set default options for this program, put them here. They will be read as if they were normal command-line options. RIPPON! also reads the environmental variables `WORKMANDBPATH' and `CDTOOLDBPATH'. These are colon-delimited lists of files that RIPPON! should look in for disc information. EXAMPLES Rip the CD in /dev/sg0 and put the resulting files in ~/Songs $ rippon --device=/dev/sg0 --output-to=~/Songs Reset the CD-ROM drive, then rip the CD in /dev/cdrom, allowing cdparanoia to skip bad sections of the disc $ rippon --reset --skip Always reset the CD-ROM drive before ripping (in ~/.bashrc) export RIPPON=--skip NOTES When specifying short options on the command line (like -o, as opposed to --output-to), do not bundle them. $ rippon -v -r -m 128 # GOOD $ rippon -vrm 128 # BAD Currently, no writing is done with the disc information databases. This will be fixed in a future release. WARNINGS Make sure that there are no files named track##.cdda.* (or similar) in the current directory before running RIPPON! as they will be erased. BUGS Lots and lots. :-) See the BUGS file that came with RIPPON!. AUTHOR Copyleft 1999/2000 H. Alex LaHurreau SEE ALSO Well, the cdparanoia manpage and the id3 manpage may be of use. Also, my *excellent* :-) web page at http://www.locl.net/homes/alexdw/ may be of interest.