DAGRAB(1)

NAME
dagrab - dumps digital audio from cdrom

SYNOPSIS
dagrab [ -h ] [ -i ] [ -d device ] [ -a ] [ -v ] [ -f file ] [ -o overlap ] [ -n sectors ] [ -k key length ] [ -r retries ] [ -t offset ] [ -m mode ] [ -e command ] [ -s ] [ -p ] [ -C ] [ -S ] [ -N ] [ -H host ] [ -P port ] [ -D dir ]

DESCRIPTION
dagrab is a program for reading audio tracks from a cdrom drive into RIFF WAVE (.wav) sound files. It should work with any cdrom drive, provided that digital audio extraction is supported from both the drive and its linux driver. For an index of cdrom drives that support digital audio extraction, take a look at these URLs:
    http://www.tardis.ed.ac.uk/~psyche/pc/cdrom/CDDA.html
and
    http://www.anime.net/~goemon/linux-cd/cdda-list.html

OPTIONS
-h
    -h will print the help screen
-i
    -i prints out the track list from the current cd. This includes track number, lba start and length, type of track, its time duration and needed length when dumped to disk.
-d device
    -d device sets the cdrom device name. Default is /dev/cdrom (if you haven't done already: symlinking of your cdrom device to /dev/cdrom is ``standard'')
-a
    -a dumps all tracks and ignores the optional track list.
-v
    -v enables the verbose mode of dagrab. It will print warning messages to stderr while delivering some useful information to stdout. E.g. the rest time and speed factor will be displayed while dumping a track.
-f file
    -f file sets the output name for dumping tracks. If the file exists, it will be overwritten. In non CDDB naming mode (-N option not used), you can embed %02d in the string which will be replaced with the track number (counting from 1). Default is "track%02d.wav". In CDDB naming mode (-N option) you may also embed variables (see below). In this case the default value is "@num-@trk.wav".
-o overlap
    -o overlap sets the number of sectors which are used for jitter correction. Shouldn't be too high or you will get "jumps" in your dump. The default value is 3.
-n sectors
    -n sectors will be read per request from the cdrom driver. (Read the note on IDE drives below)
-k key length
    -k key length is the number of keys which must be equal for a match in jitter correction. Default value is 12.
-r retries
    -r retries sets the number of times to reread sectors before a jitter error is given. Default is 40 times.
-t offset
    -t offset sets the maximum offset to search for jitter correction. Default is 12.
-m mode
    -t mode gives the standard mode for files. Also existing files will be chmod to this value. Default is 0660.
-e command
    -e command will be executed after dumping a track. This can be used to automize converting the dumped data, for example. You can embed %s in the command which will be substituted with the filename of the track file. In CDDB mode you may also embed variables (see below).
-s
    -s enables checking for free space before dumping the track to a file. However, if the file exists before, it will be overwritten (read: deleted) and dagrab skips to the next track.
-p
    -p enables converting the stereo audio data to mono. This doesn't select a special channel but the mixed information of both audio channels.
-C
    -C enables the use of cddbp protocol to retrieve disk info.
-S
    -S causes the program to look for cddb data in remote server and to save it in the local database, wich for default is located in the xmcd library directory.Implies -C
-N
    -N gives to each track the name reported by cddb; overrides -f. It does not enable cddbp.
-H host
    -H host is the remote cddb server, defaults to cddb.like.it.
-P port
    -P port is the port to connect to on the remote server, defaults to 888.
-D dir
    -D dir sets the base directory of the local cddb database; it defaults to $XMCD_LIBDIR/cddb or /usr/lib/X11/xmcd/cddb if not defined.

Variables
When CDDB mode is enabled, you can use variables bound to track data both for the track name and the filter.
case use lowcase names for "filename friendly" filtered values (like "ME-I_DON_T" insread of "ME/I DON'T") upcase names returns unchanged values (shell escaped when used in a filter command).
Here is a list of the available variables:
@TRK Track name
@FDS Full disk name (usually author/title)
@AUT Disk author (guessed, supposes that ful disk name is author/title)
@DIS Disk name (guessed, as above)
@NUM Track number

NOTES
Gaining more speed with IDE drives
    Edit /usr/src/linux/drivers/block/ide-cd.c and change the value defined for CDROM_NBLOCKS_BUFFER near line 202 to a higher value. A value of 32 works for me with a Toshiba XM-6201B (256KB buffer). After installing the new kernel, you may use the -n sectors option to tell dagrab to read more sectors at once.
Compatibility
    dagrab should work with all drives supporting digital audio extraction (as long as linux kernel drivers supports that too). IDE drives are alwais supported by kernel, but many doesn't support audio extracton;SCSI drives usually does, but there isn't a standard way to do it, so often the kernel doesn't support that feature. If you need to extract audio from a SCSI drive, you can try with CDDA2WAV.
dagrab uses the term ``MB'' for MByte (2^20 bytes == 1024^2 bytes == 1,048,576 bytes) Legal note: This program may not be used to circumvent existing copyrights.

HOMEPAGE
http://web.tiscalinet.it:/marcellou/dagrab.html

BUGS
Unknown currently. Please send bug reports (fixes are even more welcome) to Marcello Urbani <murbani@libero.it> or Sascha Schumann <sas@schell.de>

CREDITS
Main author of dagrab is Marcello Urbani <murbani@libero.it>. Patches, comments, bug reports etc are directed to him. Author of some dagrab extensions and man page is Sascha Schumann <sas@schell.de>