Updated: 2005-10-14
The IN_CDDA.cdb file is found in WinAmp's Plugins directory. It contains a local copy of the cddb CD Database for your CDs. But how do you decode the file?
Note that this is a binary file for Windows and so is little-endian, with 32-bit long words. C strings are nul-terminated.
| Offset | Contents | Description |
|---|---|---|
| 0 | long | Magic number:
|
| 4 | long | (see below) |
| 8 | long | size of trailing block in bytes |
| Offset | Contents | Description |
| 0 | C string | Disc title |
| x | C string | Artist name |
| g | C string | Genre [v3.0 onwards] |
| g | C string | Year [v3.0 onwards] |
| i | C string | CD ID (optional) 8 bytes + nul [v2.0 onwards] |
| y | long | Number of tracks [v1.10a onwards] |
| z | C string | Track name (one occurence for each track) |
| Offset | Contents | Description |
| +0 | long | Disc ID |
| +4 | long | (unknown) |
| +8 | long | Offset (post header) to disc information (ie. add 12 to get file offset) |
Thomas Kriegel (at arcor.de) notes: the long at offset 4 is the size of the first and second part in the table (offset 0 to z)! You have to calculate it in the following way : value at offset 4 + value at offset 8 (size of trailing block in bytes) = size of file. [updated 2005/10/13]
The least significant byte is the number of tracks on the disc. The rest of the ID is calculated as described in discid.c
Here's the source code: cdbx.c
See also Play List Converter by Alex Yakovlev (alex__yakovlev@hotmail.com) which you can find at http://thesoftpro.tripod.com/downloads/plcvt/
Back to arb's music page