yacddb - Yet Another CD DataBase

An audio CDROM database cataloger.

Project page http://sourceforge.net/projects/yacddb

On line demo version

Search an example audio cd catalog. Demo is here, suggested search terms "moby", "scruff". Search for one of:


CVS is where the latest code is.
Pre-built exes for Windows along with src tar ball are available from http://sourceforge.net/project/showfiles.php?group_id=95981.


More information on need to confirm each CDROM; the user MUST accept the track listings found before they are added to the database, the reasons for this are:
  1. Some CD track information is wrong (either the CD is not in the database but a CD with a similar "id" is, spelling mistakes, etc).
  2. Some CD's are in the freedb/cddb multiple times (sometimes with spelling mistakes or more/less track information).
Here are two screen shots of a multiple selection CD that demonstrate the need to confirm / select the correct CD (see spelling of Track #2).


The user conformation before storing feature can be disabled and the first hit found can be used if required, but if one is cataloging a CD collections it's worth doing properly.


I may put together a newer win32 exe that does NOT have the above requirements (i.e. no need for Python system). An old win32 exe version is available here http://community.zaurus.com/projects/yacddb/ .

If you have a CD that there is not match for in the freedb, you need to submit one. Yacddb does NOT submit unregonized CD to freedb, you need another application to do that. Examples of applications that can/will submit to freedb.org (Note it takes a while after sending in the information for it to be available, JeFCo is one way around that delay). NOTE: So far the only win32 program I've managed to successlly get info into freedb from my win32 box behind a NAT fire wall is EAC

for Win32

Cross platform (uses java and I think you need a native CD player with freedb support)


musicbrainz support they have a python binding and they do freedb lookups if they don't have a match in their database.
Run the cataloger under Linux (implement cd tray control under Linux to eject CD's, possibly use http://ericlathrop.com/cdde/ to detect insert CD's).


To make use of Installer under win32 (to create a standalone cataloging tool) with a anygui, changes must be made to __init__.py in anygui.
If no anygui support is NOT is required ignore this note (e.g. using text or QT interface with McMillan nstaller).

The change is to replace the call to _backend_passthrough() with:

# ----------- Cut Here -----------
# clach04 "hack"
# Check if we are running within "normal" Python environment
# or if we are frozen, ala. http://www.mcmillan-inc.com/install1.html
# This requires that the frozen application explictly import the
# backend that will also be frozen
if hasattr(sys, "frozen") == 0:
    # Pass the backend namespace through:
# The IF above seems reasonable howveer the ELSE below doesn't
# sit well with me.
# This approach below is not really acceptable, here for debug only
    from anygui.backends.mswgui import *
# ----------- Cut Here ----------- 

I'm not especially happy with it but it does work (for the MSW back end in this case). I was hoping to make use of the hook- modules in Installer but I failed to get anything working :-(.

These diffs are not enough, need to deal with backed and application functions......

SourceForge.net Logo