Libcddb is a C library to access data on a CDDB server (freedb.org). It allows you to:
- search the database for possible CD matches;
- retrieve detailed information about a specific CD;
- 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.
- Version 1.3.2 of libcddb has been released. This release fixes build support on the Haiku operating system.
- Version 1.3.1 of libcddb has been released. This was a maintanence release to fix the following build issues.
fixed builds under cygwin/mingw, as well as non-glibc systems (using --as-needed) option.
- There is a new maintainer for libcddb: Justin C. He'll take over the day-by-day maintenance of the libcddb project. So if you have any questions, remarks, bug reports, or feature requests you should contact him through the SourceForge project page for libcddb.
I also want to thank all of you for the great support over the past years. Hope to meet you again, sometime, somewhere. Signing off, Kris.
- 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
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
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
- 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
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
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
Last modified: Mon Apr 6 23:31:59 UTC 2009