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.
|8||long||size of trailing block in bytes|
|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)|
|+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 (firstname.lastname@example.org) which you can find at http://thesoftpro.tripod.com/downloads/plcvt/