About 

Libcddb is a C library to access data on a CDDB server (freedb.org). It allows you to:

  1. search the database for possible CD matches;
  2. retrieve detailed information about a specific CD;
  3. submit new CD entries to the database.

Libcddb supports both the custom CDDB protocol and tunnelling the query and read operations over plain HTTP. It is also possible to use an HTTP proxy server. If you want to speed things up, you can make use of the built-in caching facility provided by the library.

News 
2006-10-15
IMPORTANT NOTE: Apparently the libcddb text search function is no longer working. It seems that the new FreeDB.org owners have not (yet) implemented a search page. Libcddb used the old search page for this feature, and parses the HTML response page. Until a new search page is available, libcddb search will return a server error if you try to perform a text search.
Version 1.3.0 of libcddb has been released. The new features are described below.
Support was added for the 'album' command of the freedb2.org servers (cddb_album and cddb_album_next functions). This feature can be used to do a text search for a certain album. It does not perform any HTML page parsing but uses an extension of the CDDB protocol. As input the function needs a disc structure with either the artist or title filled in. The results are similar as for the query command; i.e. a list of matching disc IDs together with their categories. The example program also supports this feature.
Functions where added to set (libcddb_set_flags) or reset (libcddb_reset_flags) some flags. These flags influence the behaviour of the library. By default all flags are disabled. Currently two flags are available. If the CDDB_F_EMPTY_STR flag is set, the library will never return a NULL pointer for a string. Instead the empty string will be returned. If the CDDB_F_NO_TRACK_ARTIST flag is set, the library will not return the disc artist if the track artist is undefined. A NULL pointer (or the empty string if CDDB_F_EMPTY_STR is set) will be returned instead.
2006-09-29
Version 1.2.2 of libcddb has been released. This version fixes a problem in submitting data to a server. The correct character set is now specified.
2005-08-04
Version 1.2.1 of libcddb has been released.
New in this version is the possibility to fine-tune the text search feature. It is now possible to specify which fields of a disc (artist name, disc title, track titles, other fields) and which categories need to be considered when searching.
2005-07-23
Version 1.2.0 of libcddb has been released.
Support has been added for searching disc data using only a text string. The API is similar to that of the query command.
2005-07-09
Version 1.1.0 of libcddb has been released. For a complete list of updates see the NEWS and ChangeLog files in the distribution archive.
IMPORTANT NOTE: This new version is not binary compatible with previous versions. It should however be possible to just recompile any software using libcddb and link it against this new library. The API is backwards compatible so no changes to the software should be necessary.
Support has been added for the FreeDB sites command. This allows you to retrieve and use a list of mirror servers.
Developing with libcddb 

There are three places where you can look if you want to integrate this library into a project of your own. First of all, there is the tutorial on this site. Also on this site is the API documentation generated with doxygen. You can use this to quickly check the correct syntax of a certain function. Finally, in the source archive there is an example program. This program uses most of the functionality available in libcddb.

Last modified: Sun Oct 15 14:49:16 CEST 2006