The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access. Applications wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM or of the specific details of various CD-image formats may benefit from using this library.
Some support for on-disk CD-image types like CDRWIN's BIN/CUE format, cdrdao's TOC format, and Nero's NRG format is available. Therefore, applications that use this library also have the ability to read on-disk CD images as though they were CDs.
A library for working with ISO-9660 filesystems (libiso9660) is included. A generic interface for issuing MMC (multimedia commands) is also part of the libcdio library.
The cdparanoia library and cdparanoia command are included making this the only single-source cdparanoia that works on FreeBSD, NetBSD, OSX, cygwin, Solaris, BSDI as well as GNU/Linux.
This list of projects using libcdio can be consulted for an idea of the range of applications using the library.
With the distribution is an OO interface via C++. (The C routines are also directly callable from C++). Access via Perl is available from CPAN via the Device::Cdio module. An interface from Python and two from Ruby are also available.
We are looking for volunteers to lead development of a suite of programs for GNU for the job of CD/DVD recording, comparable to cdrtools. Unfortunately, the cdrtools author has chosen to use the CDDL license for his work; since the CDDL is incompatible with the GPL, we cannot use it in GNU. The Debian fork of cdrtools, named cdrkit (aka debburn), is unfortunately also not a suitable long-term solution for GNU, since it is licensed under GPLv2-only, and has adopted a different build scheme.
Both cdrtools and cdrkit include the mkisofs program, originally written for GNU by Eric Youngdale. So that is one possible starting point. Technically, it seems the ideal result would be enhancements to libcdio at the library level to support the necessary writing functionality (the above projects have no comparable library layer), and then command-line utilities to provide a shell interface.
The future GNU utility comparable to cdrecord (wodim in cdrkit) should have compatible options, so that the myriad other GUI and other programs which work on top of it can simply substitute the command name.
The GNU vcdimager program is a potential starting point.
There are other libcdio projects that await volunteers, too; UDF filesystem support is one big one.
If you have time, background, and interest, please email libcdio-devel@gnu.org, and thanks.
$Id: index.html,v 1.60 2008/12/13 01:23:51 rocky Exp $