Disk-At-Once Recording of Audio and Data CD-Rs/CD-RWs

Changes 1.2.2:

  • Added device locking for win32 (Giuseppe Corbelli)
  • Man page cleanup (Andrew Suffield)
  • Fixed GCC 4.1 compilation issues
  • Fixed hang when inserting WAV file

Changes 1.2.1:

  • Fixed bad bug with missing return statemements in recomputeLength and format conversion.
  • Fixed broken '-' STDIN input feature.
  • Fixed various gcc4-related compile problems.
  • Fixed copy problem with single device when read_device is specified.
  • configure now tries to build against installed cdrtools by default.
  • Minor fixes to driver table.
  • pccts build is now better integrated with automake/autoconf.
  • Added FreeBSD 7 support to Fixed libao dependency.
  • The crash when creating a new "Create Audio CD" view seemed to be related to gtkmm and libsigc++ and went away with newer releases of those packages.
  • toc2cue: fixed bug that was causing empty output files. Added conversion of COPY to DCP flags. (Julio Sanchez Fernandez)

Changes 1.2.0:

  • SECURITY FIX: cdrdao now gives up its root privileges after setting up real-time scheduling, as well as before saving settings through the --save option. This fixes a potential local root exploit when cdrdao is installed with the +s chmod flag. Using --save now also forces an early exit after the settings are saved.
  • Added MP3 and Ogg Vorbis file support (through respectively the libmad and libvorbis libraries). cdrdao will decode the MP3 and Ogg files into temporary WAV files that will be deleted upon exit (unless the new option --keep is used). The directory used to store those temporary WAV files can be specified with the --tmpdir option (default is /tmp).
  • Improved native CUE file support: replaced old incomplete existing parser with the one from Matthias Czapla's excellent cue2toc. Added support for cutting binary files.
  • Added --rspeed option to manually set the device reading speed. Be warned not all devices support this.
  • Packaged scsilib library upgraded from cdrtools 2.01 (previously was from 2.01a31).
  • Added --no-mode2-mixed option. Don't read a MODE2 disk as MODE2_FORM_MIXED, only read MODE2_FORM1 or MODE2_FORM2 (Matthieu Castet).
  • Added help for little-known drive-info command.
  • MP3 and Ogg Vorbis support: you can drag and drop .mp3, .m3u and .ogg files from Nautilus into the sample display window.
  • Switched to gtkmm24 API. Improved file browsers.
  • CUE files support.
  • Sound output now uses libao library.
  • Added 'Select All' item in menu.
  • Added 'Eject' button to progress dialog
  • Bug fixes (sample selection weirdness, couldn't close window during play, problems with gcdmaster command-line argument, crashes with multiple project windows, drive status not reported correctly).

Changes 1.1.9:

  • MMC-driver auto-detection. If no --driver option is specified, cdrdao will try to autodetect an MMC-compliant device and use the generic-mmc driver by default. (Denis Leroy)
  • Included scsilib upgraded from cdrtools 2.01a31 (Denis Leroy)
  • Added --eject option to the unlock command to eject the cd after unlocking. (Eric Benson)
  • New 'discid' command to display CDDB information. (Eric Benson, Denis Leroy).
  • Fixed scsilib compiling problems with Linux kernel 2.6 (Jim Gifford)
  • Fixed compiling problems with gcc 3.4 (Jim Gifford, Denis Leroy)
  • Added --full-burn and --capacity options to extend lead-out to entire disc, beyond 80 mins limit. (Vladimir Petrov)
  • Device configuration dialog now scans for devices on both ATA and ATAPI interfaces.
  • Some bug fixes (manual driver configurations were not being saved correctly).
  • Version 0.2 released. Complete rewrite, should now handle most of all CUE files. (Matthias Czapla)

Changes 1.1.6:

  • Fixed cue sheet setup for CD-TEXT writing. Some older drives did not like the cue sheet format as specified in the latest SCSI-3/mmc specification.
  • Added sub-channel writing for the 'generic-mmc' and 'generic-mmc-raw' driver. Currently only the R-W sub-channels can be written. The track image files may contain packed or raw R-W sub-channel data. For packed sub-channel data the L-EC data will be calculated and interleaving will be performed if required by the recording hardware.
  • Added sub-channel reading support for the generic-mmc(-raw) driver. Currently packed and raw R-W sub-channel reading is supported (option -read-subchan).
  • Added automatic check for support sub-channel reading modes to the 'generic-mmc(-raw)' driver. The driver options (0x1, 0x2 and 0x20) should be obsolete now, but are still available.
  • The data track extraction with the generic-mmc(-raw) driver is more robust against read errors now. The --tao-source/--tao-source-adjust option should be obsolete now - but is still available.
  • Added on-the-fly copying support for the Win32 version.
  • Default blanking mode is now 'minimal' (SF feature request 425321)
  • Updated paranoia libraries to version of cdparanoia-III-alpha9.8.
  • Fixed waiting loop that was used to wait until the lead-out was written and until a blanking operation is finished. Some drives do not indicate this activities with a "not ready" status. Affected drivers: generic-mmc and generic-mmc-raw (blanking only).
  • Fixed crash in cdrdao usage printing (SF bug 570156).
  • Fixed cue sheet setup for ISRC codes for the HP8100 recorder model.
  • Added/fixed SF patches 427753, 450058 and 534214.
  • New mp32dao version from Giuseppe Corbelli with these new features:
    • Ogg support
    • MP3/Ogg decoding supported only with external programs
    • Code modularization and bugfixes
    • cdrecord's .inf file support for CD-TEXT data
  • Cue parser accepts spaces and '\' characters in file name now.
  • The PCCTS package is now a part of the cdrdao source code distribution which should avoid some compilation hassle.
  • Updated scsilib version.
  • Added patches for compilation under Unixware (incl. patches for scsilib).
  • Created new utility 'toc2mp3' that converts an audio CD image to a set of mp3 files using the LAME encoder. The encoded mp3 files have no gap at the end so that they play in sequence without noise at the transition points.
  • Gcdmaster hotkeys are now back. (SourceForge bug 470864).
  • Gcdmaster can now copy cds with just one drive, thanks to Das Poelzi for the patch. (SourceForge bug 566948).
  • Added switch to enable the overburn mode to the recording options box.
  • Added selection of the sub-channel reading mode the CD extraction options box.
  • Fixed the 'Cancel' button staying disabled in the Recording/Reading progress window.

Changes 1.1.5:

  • Fixed bug in CD-TEXT writing code that caused the problems with the unreliable read back of the written CD-TEXT data
  • Added CD-TEXT writing capability to the generic-mmc-raw driver; the recorder must support the 96 byte raw P-W sub-channel writing mode to make use of it
  • Fixed bug in generic-mmc-raw driver: the TOC type was not written correctly and some flags for data tracks were missing in the lead-in
  • Fixed handling of toc type for multi session CDs: the toc-type of a session that just contains audio tracks is always CD_DA, even in multi session mode
  • BURN Proof support added by ITOH Yasufumi/Martin Buck
  • Fixed bug in calculating the CDDB id (SourceForge bug 413467)
  • Added option --with-cddb to read CDDB data automatically with commands copy, read-toc and read-cd; it is now possible to add CD-TEXT data from CDDB while performing an on-the-fly copy
  • Updated to libscg-0.5 from cdrtools-1.10
  • Handle drives that do not support the explicit power calibration command
  • Blanking of CD-RWs is now officially supported (command blank, option --blank-mode)
  • Updated CD-R vendor table
  • Settings are now first read from "/etc/cdrdao.conf" and "/etc/defaults/cdrdao" and then from "$HOME/.cdrdao"
  • Added command msinfo to output multi session information suitable for mkisofs
  • Overburning is now prevented by default and must be explicitly requested with option --overburn. Fix for Debian bug #79585 (
  • Fixed error in cdrdao's manual page (Debian bug #82816,
  • cdrdao's help screen was reworked by Michael Reinelt
  • Added Giuseppe Corbelli's enhancements for the mp32dao script
  • Makefiles now use make variable datadir to specify the share directory location
  • Fixed printing toc-file name with command copy --keepimage
gcdmaster (former xcdrdao):
  • Added missing toshiba driver to the device configuration dialog (SourceForge bug 128633)
  • Removed the CD-TEXT table entry dialog from the Project Info dialog; it is now a non modal dialog on its own
  • Enhanced progress display for extracting and recording
  • Major rework of the infra structure to support multiple projects (toc-files) and multiple views of a project
  • Gcdmaster starts with a project chooser now; this is the first step to support different project types like data CD, mixed mode CD, video CD etc.

Changes 1.1.4:

  • Created new 'toshiba' driver for 'read-toc'/'read-cd' with Toshiba CD-ROM drives.
  • Added full multi session support to the 'cdd2600' driver.
  • CD-TEXT is written without any copy protection flags now.
  • Added CDDB access to add title and artist data as CD-TEXT to an existing toc-file. The direct cddbp and the http encapsulated protocol is supported.
  • Added support to better handle disks written in track-at-once mode with 'read-cd' and 'read-toc' (see options --tao-source and --tao-source-adjust).
  • Fixed bug that prevented recording of pure data CDs with the recent HP and Sony recorder models in single session mode. For multi session mode the restrictions mentioned in the README are still valid.
  • Fixed 'unit not ready' problems after writing with the 'generic-mmc' and 'generic-mmc-raw' driver.
  • Toc-files with tracks that are shorter than 4 seconds will be recorded if option '--force' is given.
  • Some of the command line options are now saved to a settings file "$HOME/.cdrdao" if option '--save' is given.
  • The driver database is now kept in an external file so it is possible to update the database between the cdrdao releases. Actual driver database files will be available from
  • Added new option '--keepimage' which keeps the created image file after the command 'copy' finishes.
  • Fixed bug in CD-TEXT reading code: CD-TEXT fields with empty strings were only read for the first track.
  • Driver 'generic-mmc': If the power calibration fails the recording process will be aborted now.
  • Driver 'generic-mmc-raw': Added explicit power calibration.
gcdmaster (former xcdrdao):
  • Xcdrdao is now a Gnome application and is called "Gnome CD Master" (gcdmaster) now.
  • Added table wise entry of CD-TEXT title/performer data.

Changes 1.1.3:

  • Data track writing is available with all drivers, especially the ricoh-mp6200 and generic-mmc-raw can write data tracks now.
  • Added DAE capability based on Monty's paranoia library to all drivers. The plextor driver will still use the special Plextor method for DAE with Plextor drives but it is possible to force using the paranoia mode with a driver option (see README). The paranoia mode can customized with option --paranoia-mode. Please read section 'Digital Audio Extraction' of the README.
  • read-cd creates now a complete image of a session. All tracks are written to a single image file (comparable to a .bin file). Pre-gaps and index marks of audio tracks are extracted while ripping the audio data so that a read-toc step is obsolete now. It may choke on CDs written in TAO mode.
  • Experimental: Added a copy command that performs all steps for copying a CD session with a single or two drives. By default a temporary image file is created in the current working directory. On the fly copying can be selected with option --on-the-fly which avoids the temporary image file. Copying of mixed mode CDs should be fine. I expect problems with source CDs written in TAO mode but I did not make any tests up to now. On the fly copying is not available for the Win32 platform, yet. Please read section 'Example for CD Copying' of the README.
  • read-cd ignores sectors with L-EC errors now if option --read-raw is given. The cdd2600, ricoh-mp6200 and generic-mmc-raw driver will recreate the erroneous sectors when recording.
  • Added full multi session support to the teac-cdr55 driver.
  • Added multiple language support for CD-TEXT. However, I have currently no access to a CD-TEXT capable consumer CD-player so I am not sure if CD-TEXT recording still works. Reading the written CD-TEXT data with a CD-ROM drive gives the expected results.
  • ATAPI CD-ROM drives that were only working with the plextor driver should now be supported by the generic-mmc driver with driver option 0x20 (--driver generic-mmc:0x20).
  • A CD-R medium is automatically ejected now before writing to reset the disk status after a simulation run which is necessary e.g. for the Philips CDD2x00 recorder family.
  • Added dialogs for entering meta data like UPC/EAN, ISRC code and CD-TEXT.
  • It is now possible to insert and remove samples at any place without touching the audio files on the disk.
  • Added a dialog for configuration of all available CD-ROM/CD-R devices.
  • Recording can now be started from the GUI. Simultaneous recording with multiple CD-recorders is possible if the hardware is suitable for it.
  • Created a man page.

Changes 1.1.2:

  • Added support for bin/cue images. A cue file can be used now wherever a toc-file is expected. The cue file must have exactly one FILE statement. The bin file name is constructed from the cue file name by replacing ".cue" with ".bin". Currently supported track modes: MODE1/2048, MODE1/2352, MODE2/2336, MODE2/2352. The cdd2600 driver uses the L-EC data contained in the MODEX/2352 track images when recording. All other drivers will ignore and regenerate the L-EC data.
  • The generic-mmc driver has full multi session support now. The start address of the last and current session which must be used for the mkisofs option -C x,y can be retrieved with disk-info.
  • The sony-cdu948 driver is included in the source package.
  • read-cd will create raw data track images (2352 byte sectors) if option --read-raw is given.

Changes 1.1.1:

  • Added data track support to cdd2600 driver. It is also available for the generic-mmc-raw driver but untested yet (there might be a byte order problem).
  • Added CD-TEXT writing support to the generic-mmc driver. I successfully wrote some CD-TEXT CDs with a HP 8100 recorder. Please have a look at the README.
  • Fixed bug in CD-TEXT reading code.
  • read-cd is basically working now. It will create an image of all data tracks of a source CD and the corresponding toc-file. It was possible to copy Video CDs using read-cd.
    Note: The plextor driver is not updated, yet, and will still just do the audio extraction (only with Plextor drives). Use the plextor-scan driver instead.
  • Writing with the ATAPI Yamaha 4416 recorder is supported now.
  • Ring buffer implementation uses Posix threads if available.
  • Win32 version is available.

Changes 1.1.0:

  • Added data track support to generic-mmc driver.
  • Added Henk-Jan Slotboom's driver for Taiyo-Yuden recorders.
  • Created driver for the Teac CD-R55S recorder. Data tracks should be supported, too, but it is not well tested.
  • Added Cam MacKinnon's driver for the Yamaha CDR10x drive family. Data track support is available, too, but also not well tested.
  • Added Leon Woestenberg's bitwise-exact digital audio extraction patch for Plextor drives (see README.PlexDAE).
  • read-toc will analyze mixed mode CDs now, but it is currently not perfect. Please have a look at the README.
  • Fixed failed assertion problems with 'read-toc' that occured when the raw P-W sub-channel data passed the CRC check but was actually not consistent (happened quiet often with Teac CD-ROM CD-532S drives).
  • The SCSI interface can now use Joerg Schilling's SCSI library. Cdrdao is reported to work on Solaris 2.6 and FreeBSD using the SCSI library. Max Khon provided an independent SCSI interface implementation for FreeBSD which can be selected when configuring.
  • Added experimental CD-TEXT support to 'read-toc'.
  • Updated xcdrdao source to compile with Gtk-- 0.99.1.

Last update: Sep/15/2002
GCDMaster Home
Application Examples
Available Drivers
Supported Drives