Managing a Database for Audio-CD

If I get a new Audio-CD (CD-DA), I insert them in the CDROM-Drive of my computer and start the Program kscd, which is part of KDE. This Player is CDDB-aware, as are a great other number of CD-Players. Kscd then makes a automatic lookup in the Freedb. If it cannot encounter the CD, I manually enter the required information and submit this information to the Online-Database so that other users can access them.
Kscd maintains a local Database of all entered CD's, so the neat effect of this is, that I have a Database of all my CD's. For every CD I have there is one file with all entered information, here's an example.
From these files I generate all the output which I will describe in the following text.


This program is very useful for generating covers for an audio-cd. It calculates the cddb-id of a CD, looks up the information in the Database (first local, if the CD is not in the spool, it contacts the online-database) and then generates a cover in a user-chosen format.
I changed the program to generate two additional formats of output.
  1. disc-cover -t mytex generates a file with puts the data in some TeX-macros. The user can now define these macros to achieve the kind of output he wishes. I used TeX here just as I use it for all my writing; because it is a ASCII-format the files can be manipulated with all the standard Unix-tools.
  2. disc-cover -t id3 generates a file which contains an invocation of id3tag for every track on the CD. id3tag is a part of lame for generating ID3-tags.
This is an archive of disc-cover 1.0.1 with all my modifications, and this is a file to patch the executable of the original distribution.


With this Shell-script I generate a TeX-file for every CD in my database, a TeX-file for every genre which contains at least one CD and finally a file called inhalt.tex which includes all the genre-files and additionally files called vorspann.tex and nachspann.tex. Writing different files vorspann.tex one can now generate different forms of output.

I have written two different formats:

  1. One line for every CD, which contains artist and title. This is used to print a list of all my CD's.
    Source Output-example
  2. One subsection for every CD. This format is not used to produce a print, but is transformed with LaTeX2HTML to produce an online-version of the database including all scanned images.
    Source inhalt.html
    The archive contains a README how I invoce latex2html to produce the HTML and afterwards htdig to index the newly created pages. Nowadays I use mnoGoSearch for this purpose, because it's far better maintained.

Producing MP3-CDs

Because I own a MP3 capable portable CD-Player I'm producing my own MP3-CDs. Always I copy whole CDs, every CD in it's own subdirectory.

Of course I want

This is how I manage this:
  1. Create a new directory.
  2. Create a subdirectory for every CD I want to compress.
  3. Go to this subdirectory and run:
  4. Do the last two steps for every CD you want to encode.
  5. In the Directory run codeMp3 to produce the MP3-files. All Files are with ID3-tags if you don't missed the disc-cover -t id3.
  6. Run makeMp3TexDatei.. This produces a File inhalt.tex, which is pretty useless without two additional tex-files, namely mp3vor.tex and mp3mit.tex. They use the package cd-cover to produce two bookletsheets and a backsheet.
This is a download all the mentioned files in one archive.