DragonFly On-Line Manual Pages

Search: Section:  


CRIPPLE(1)                       USER COMMANDS                      CRIPPLE(1)

NAME

cripple - command line CD ripper/encoder wrapper with cddb support

SYNOPSIS

cripple [ options ]...

DESCRIPTION

cripple is a basic CD ripper that as it comes uses CDparanoia/cdda2wav and BladeEnc/LAME to rip and encode tracks from a CD. The useful things it can do are querying the freedb (http://www,freedb.org) for information on a CD by HTTP requests (optionally via a proxy). It also writes ID3v1.1 tags to the MP3 files it makes. Without any options cripple will read the table of contents of the CD in the default CDROM drive, query the default freedb server for information and then rip + encode all audio tracks on the CD to the current directory using the default ripper and encoder with default options. Encoded files produced by cripple have names of the form, Artist - Album - Track no. - Track Name.extension or for compilations, Album - Track no. - Artist - Track Name.extension (a compilation is denoted by the CDDB disc artist set to "Various")

OPTIONS

-a --ripper-opts opts pass command line options to ripper in place of defaults. Note that device, speed and track number specification are done separately. Have a look at output from -r to see how options are used. -c --comment text copy text (<= 28 chars) to the comment field of each ID3 tag -C --capitalise none|simple|clever|lower|upper how to capitalise name fields. default is none. none leave alone. simple first letter of each 'word' is upper. clever as above, but lower certain words. lower lower all characters. upper upper all characters. This is a matter of personal preference, freedb entries are supposed to be capitalised, but that's not allways the case. clever is good for plain english names. -d --device dev use device file dev rather than compiled-in default (usually /dev/cdrom). Note for SCSI drives this is the CDROM ioctl device (e.g. /dev/srN, /dev/scdN) rather than the SCSI generic device (e.g. /dev/sgN). On win32 both full (e.g. \\.\D:) and short (e.g. D:) forms are accepted. default is the lowest-letter CDROM drive found. -D --readdata read data tracks (mode2 only) to files with .bin extension. frames are stripped to 2048 bytes. works OK for CD-Extra data tracks, but pretty useless otherwise. -e --eject eject CD when done. -E --encoder bladeenc|lame|flac encoder to use. options set with -O. default is lame. -F --fat convert certain characters (\:*?"<>|) in filenames to '_', as these characters are not allowed on FAT filesystems. May also be needed on NTFS. If you get strange errors when writing files with these characters in their name then try using this. This is enabled by default on win32. -h --help brief help. -i --infile file read cddb info from file rather than querying server. -o --outfile file write server response to file for debugging or later use with -i. -O --encoder-opts opts pass command line options to encoder in place of defaults. Mostly useful for setting bitrate/quality. Note that file handling options are done separately. Have a look at output from -r to see how options are used. -p --path path where to rip to. -q --justquery cddb query only - use for testing or saving response for ripping latter (see -i, -o). -r --norip only pretend to rip - don't actually make system() call or try tagging files. -R --ripper cdparanoia|cd-paranoia|cdda2wav ripper to use. default is cdparanoia (cd-paranoia on win32). -s --server host:port/cgi_path use host instead of compiled-in default http server. port and cgi_path are optional. -S --speed n set cd drive speed to n. also pass speed to ripper. 0 gives maximum speed (on linux at least). -t --tracks m[,n] rip from track m to track n. default is whole disc. (',' is any non-number) -T --toc print a representation of the CD Table Of Contents and discid, then exit. useful for testing/debuging. -w --blankfile file write blank xmcd format file for CD so you can manually fill in fields (for use with -i or submission to the freedb). -x --proxy host:port use http proxy, port must be given. This overrides any compiled in proxy setting. A null string will disable any compiled in proxy.

FILENAME SUBSTITUTIONS

in filenames following -i|o|w options, the following will be converted: %d --> discid in "%08lx" format. This is just to save effort when getting info for several CDs prior to ripping them. %% --> literal '%' "-" will use stdin (-i) or stdout (-o|w).

EXAMPLES

query freedb for data then if all is well, rip all tracks with default ripper/encoder at default quality to /music: cripple -p /music query freedb for data and copy it to cd_info. Later on, rip disc with default settings using saved info: cripple -qo cd_info ... cripple -i cd_info query a load of discs, saving their info to files named with their discids, later rip them all in any order: cripple -qo %d /* repeat for each cd */ ... cripple -i %d /* repeat for each cd */ If you don't like any of the information it retrieves, you can just edit the xmcd file produced by the -o option. A complicated example: cripple --encoder=bladeenc --encoder-opts=-128 -ep /music -S 8 --server=uk.freedb.org --proxy=webcache.mydomain:1234 --capitalise=clever --ripper=cdda2wav set drive speed to 8. query uk.freedb.org via webcache.mydomain:1234. Capitalise all track/artist/album names with 'clever' algorithm. use cdda2wav and bladeenc to produce stereo 128kb/s MP3 files of all audio tracks on CD, writing them in directory /music. eject CD tray after successful rip. You can preset most of these options at compile time.

DEVICE FILES

I only have experience with linux, but some of the following may be applicable on other systems too. The linux kernel can be configured to support just about any CD drive trough the Uniform CD-ROM driver (see <linux/cdrom.h>, linux/Documentation/cdrom/cdrom-standard.tex, linux/drivers/cdrom/*). I think most other OSes do a similar thing, presenting loads of differnt drives through a single API. This makes most common tasks very simple and hence it is the interface used by programs such as audio cd players and the like. However the unreliable nature of digital audio extraction means that great benefits in error detection, correction and speed can be gained by using the drive directly, bypassing the uniform driver layer. Linux only supports this for SCSI devices, which can use the SCSI Generic (/dev/sgN) interface. Drives on most other busses (ATAPI, USB...) can be configured as SCSI devices by using an appropriate SCSI adapter emulation (e.g. ide-scsi for ATAPI). SCSI devices will then be accessible by 2 device files, the uniform CD-ROM interface e.g. /dev/srN or /dev/scdN (assuming the kernel has been told to use it), and the generic device e.g. /dev/sgN. cripple uses only the uniform CD-ROM device (often misleadingly referred to as the ioctl device), and this is also what it passes to the ripper. If the device is configured as an IDE device then cdparanoia will use the uniform interface, which is not ideal. If the device is configured as a SCSI device then cdparanoia will determine the associated SCSI generic device and use that. This means that for SCSI drives a user must have permissions to access both the cdrom device and the corresponding sg device.

BUGS

user should be able to select database entry to use when there are multiple matches. only tested on linux and cygwin -- may not work on other OSes.

SEE ALSO

lame(1), cdda2wav(1), cdparanoia(1), cd-paranoia(1), flac(1), http://www.freedb.org cripple-0.06b May 4, 2005 CRIPPLE(1)

Search: Section: