BeOS cddblinkd daemon sources

I am active user of Zeta OS and with the demise of FreeDB, the cddblinkd service no longer works. It seems this also true in Haiku, when I recently loaded a CD to encode tracks to MP3 files–nothing was updated. I like using RipEnc, which works for my purposes.

So, I would like to see the source and see if I could update it to use MusicBrainz format instead. Although MusicBrainz is not as good as FreeDB in locating CDs.

Any ideas where the ‘cddblinkd’ source code could be found?

1 Like

Hello @ArDrakho! It seems the code for cddblinkd is here:
However, I don’t think that project is maintained anymore…(@waddlesplash, you may want to upload this project to the HaikuArchives, it’s under the BSD license after all)

As for how Haiku internally handles cddb lookups, we have our own daemon here:

I think we only use it for the CDDA file system, and the “cddb_lookup” command that is ran in the Terminal.

That app is by BGA. Are you sure that is not just what formed the basis for cddb_daemon, which is now the cddb_lookup you posted above? In that case it doesn’t really need to be on HA…

Even if (to me) an open source OS must integrate free - as in freedom - services ONLY, here’s the Foobar’s Discogs tagger homepage (with sources):

Of course there are many Discogs’ taggers projects on github too:

Hope that helps/inspires.

1 Like

Based upon this initial commit on Github:

I don’t believe the programs are actually the same, as olta wrote the basis of Haiku’s cddb_lookup (which was called initially the cddb_daemon).

Thanks for the info. When I install Zeta OS, I installed the development and source options. I looked for cddblinkd source files in Zeta OS (no luck in SampleCode directory) since the BeTips article stated the following:

“If you want cddblink to stand a better chance of finding your CD, go back to the cddblinkd source directory, open cddblinkd.cpp in a text editor, and search on the string „“. Edit this to read „“ and remake the binary.”

That is what I’m trying to do at this time in Zeta OS. I have an image of BeoS Pro 5.0.3–I will look in there next for cddblinkd sources.

I could not locate any files to download at the SourceForge link above. The foo_discogs seems to be beyond my abilities since that looks more complicated. I was thinking it is a simple as stated in BeTips article (

Thanks again!

@ArDrakho Well, if foo_discogs is too mutch complicated, you can always try one of these (note that some of them are bit dated, but may help you anyway):



  • The Crab - a small utility that can help you organize your music albums using various music data sources, such as Amazon or Discogs.

…too many, choose yourself:

@CodeforEvolution It would be interesting to implement AcoustID fingerprinting and lookup, IMHO:



It seems the original cddblinkd was written by Marco Nelissen, and it seems it should be part of the Be Sample Code.

1 Like

I will soon look once I load the image…thanks!

While both services are great and useful, I don’t think they are the real tools here.

As this is about a replacement for CDDB CD detection I think both of the above are not of direct use. Correct me if I’m wrong, but I think discogs has no support for some kind of lookup based on a disc ID / CD TOC. And AcoustID is only useful to identify each track individually based on its audio, which would involve at least partially ripping each track. If you enter a CD for playback only you probably don’t want to see the system spent time on ripping the audio first for identification.

For a direct CDDB replacement the MusicBrainz disc ID lookup would be the most fitting solution.

Yes, I think the built-in cddb_lookup tool which runs automatically when an audio CD is inserted still defaults to using FreeDB, and this should probably be changed to MusicBrainz indeed if possible.


In my personal experience, the MusicBrainz is 50% chance in locating the CD while FreeDB has a much higher hit chance usually around 85-90%. I rtather have FreeDB back or resurrected on a different server.
MusicBrainz wants us to use their sucky service…sad situation!!

Well AFAIK it’s Free Software, you are more than welcome to contribute and make it better.
Do they explain why they can’t make use of the FreeDB data directly? Some licensing issue maybe?

cf. their FAQ.

Hmm doesn’t really answer the question, although I think they mean that they can’t import directly from FreeDB because their data is more structured and it would just result in thing requiring a lot of cleanup.
It’s a bit like OpenStreetMap vs Google Map : OSM is way more structured while gmaps is just points with a description, which is simpler to contribute (modulo that the data is owned by google) than it is on OSM, but OSM offers better quality which takes more time to build.

Yes…MusicBrainz created an independent CD database structure, which is incompatible with the original CDDB database structures. Why they cannot accomplish a database migration from FreeDB merged into MusicBrainz is something that should be done. Anyway, I have the database export files from the last FreeDB (Mar 2020)…so I at least have the data, which I migrate into PostgreSQL–but not the DB server files.

Did you try contacting them?

MusicBrainz originally did do FreeDB imports in it’s early days, but it was stopped when MusicBrainz itself provided sufficient data. Nowadays with FreeDB being such a mess there is no real way to automatically import this into MusicBrainz without creating a big mess and turning it into a data dumpster. FreeDB is full of duplicates, spelling mistakes and pure mistagging. It also has no knowledge of artists, making it near impossible to assign the releases to proper artists.

Seriously it is more than time to say FreeDB goodbye. It served it’s purpose but let’s move on.


That is true…even with Musicbrainz 50% CD identification is better than 0% at the moment, since FreeDB has been shutdown. Hence, my original question from the beginning in updating the cddblinkd daemon to use MusicBrainz… In the meantime, I need to understand how to use CD lookup to generate the FreeDB disc id so I can use the FreeDB database in PostgreSQL, where I can generate my CD library data as a local CDDB instead of relying on MusicBrainz…cddblinkd will use local data first and not perform the network call.

1 Like