cd-discid is a backend utility to get CDDB discid information from a CD-ROM disc
C Groff Makefile
Latest commit a69bd89 Sep 10, 2016 @taem Update changelog
Permalink
Failed to load latest commit information.
.gitignore Ignore .orig files Nov 17, 2011
CHANGELOG.md Update changelog Sep 10, 2016
COPYING Update FSF address. Aug 20, 2009
Makefile Add IRIX support Sep 10, 2016
NEWS Rename 'changelog' to 'NEWS' May 29, 2013
README.md Convert to Markdown Sep 9, 2016
cd-discid.1 Add IRIX support Sep 10, 2016
cd-discid.c Add IRIX support Sep 10, 2016

README.md

cd-discid

cd-discid is a backend utility to get CDDB discid information from a CD-ROM disc.

Using cd-discid is very simple. It accepts a command line parameter, the device name of the CD-ROM drive to look up. For example:

$ cd-discid /dev/cdrom
7c0b8b0b 11 150 23115 42165 60015 79512 101560 118757 136605 159492 176067 198875 2957

The information returned is, in order:

  • 32-bit hex CDDB disc-id. The first byte of this is the track checksum, the next two are the length of the CD in seconds, and the last is the number of tracks
  • Number of tracks
  • Frame offset of each track
  • Second offset for the leadout track (length of the CD in seconds)

The (lack of) inspiration behind this output format was the CDDB database server. It accepts requests like so:

http://freedb.freedb.org/~cddb/cddb.cgi?cmd=cddb+query+7c0b8b0b+11+150+23115+42165+60015+79512+101560+118757+136605+159492+176067+198875+2957&hello=user+hostname+program+version&proto=3

There is --musicbrainz option which outputs a TOC that is suitable for calculating the MusicBrainz disc id. This feature is courtesy of Lars Magne Ingebrigtsen.

cd-discid was developed with attention to the CDDB specifications, available at http://www.freedb.org/sections.php?name=Sections?sop=viewarticle&artid=28, using portions of their sample code.

cd-discid should work in Linux, Solaris, FreeBSD, OpenBSD, NetBSD, MacOS X and DragonFly.

Installation

To compile cd-discid you need the recent version of standards compliant C compiler. To build binary, type in terminal:

$ make
$ make install

Second command will install cd-discid files using prefix /usr/local. To change prefix, append to the command: PREFIX=/my/dir.

TODO

Output ID3v2 MCDI (Music CD Identifier) frames. Since these are binary in nature it is unclear what the best method of outputting these should be.

Development

If you have patches, please fork cd-discid at GitHub or simply send your patches by e-mail (see below). If you found a bug, please report it at https://github.com/taem/cd-discid/issues.

Homepage

Latest program version can be found at http://linukz.org/cd-discid.shtml.

License

cd-discid is distributed under the terms GNU General Public License Version 2 or greater, or Larry Wall's Artistic license. Please see COPYING for full GNU GPL text.

Author

Original author is Robert Woodcock. Later Timur Birsh picked up maintenance.