Scroll to navigation

DISC-COVER(1) produces covers for audio CDs DISC-COVER(1)


Disc-Cover - create front and back covers for audio CDs


disc-cover [-2|second filename] [-b|flaptext text] [-a|additional text] -allmusic [-c|-casetype (jewel|slim|x-slim|tevion-slim|letter-slim)] [-C|Configuration filename] [-D|Device device] [-e|extended] [-f|file filename] [-h|help] [-H|Help] [-n|new] [-o|output filename] [-p filename|-pic filename] [-R|Remove] [-S|Server] [-t|type txt|dvi|tex|ps|pdf|cddb|lbl|html] [-u|uppercase] [-v|version] [-V|Verbose] [-va|-variousartists] -template_list


Disc-Cover creates front and back covers for audio CDs. The CD has to be present in the CD-ROM drive, or alternatively a valid CDDB file can be used. Disc-Cover searches the CDDB database for an entry corresponding to the CD's CDDB ID. It starts by looking for a local CDDB entry in ~/.cddb (or another directory pointed to by your cddb installation). If no local CDDB entry matches the CD, disc-cover continues to search the online CDDB databases or CDINDEX databases as configured in the AudioCD library. It then formats the entry to produce a Latex, Dvi, Postscript or PDF file, which contains the front and back covers on a single page. Other formats supported include a simple text output, a CDDB compatible format, HTML and an output format that can be used with cdlabelgen (, another cover builder.


The easiest way of using Disc-Cover is to put an audio cd in your cdrom drive and then run disc-cover without options. Disc-Cover will tell you what it does and if it is able to create a set of covers it tells you the name of the file it creates. Normally this is a PostScript file that is ready for printing.


The front cover shows artist, album title and when available extended disc info. Optionally a picture can be added to the front cover. The back cover holds the title and artist in the same fashion. In addition to those, the back cover lists the individual tracks, preceded by a track number and followed by their running time. The total running time of the CD is given at the bottom of the back cover. The sides of the back cover contain the artist and CD title. Another flap hangs on the side of the right of the back cover. When using fully transparent jewel cases this flap is visible from the front. By default it holds the user's full name. Colour is also supported.



-2, -second filename
When using this option disc-cover goes into double album mode, meaning it will print the front cover using the first cddb entry, either reading the cd in the drive or by using a file as described in "-f, -file filename" option. Then it prints the back cover with two halves, the upper half consists the title/artist and then the tracks of the first cd, the lower half contains the tracks of the second cd.
Add text to the bottom of the front cover. Default is to put extended disc information here. You can use this to cancel the extended disc information by doing '-a " "'.
Search on for the front cover of the album. This picture will be put on the front cover, just like with -p and -pic. These last options override this flag. This way you can enable -allmusic by default in the config file and override it whenever you need to.
Add text to the additional flap at the side of the back cover. This flap is visible when used with a fully transparent jewel case. These are becoming more common everyday. By default text from the password entry is used. We take the string from the comments field up until the first comma. Most times this should be the user's full name. Cancel this text by using the configuration file or with '-b " "'.
These options correspond with files in one of the @config_template_dirs which are templates that describe case types. You can also copy one of these files to your current directory, change it and let disc-cover use your own template. The cases described next are delivered together with Disc-Cover. Setting this to slim will have Disc-Cover output covers in a format suitable for slim cases. These are thinner cases often used for single cds or EPs. Use x-slim if you want the side and flap exchanged. Even more slim are the cases provided by Tevion (use: tevion-slim). For people using letter format that have trouble with not getting the whole case fitted on paper, please use letter-slim.
Output configuration to a file. The current flags and options set in existing configuration files or given on the commandline are used to set the values. To see the current settings do ;disc-cover -C -'. For example, you can change the default output format to pdf as follows:

  disc-cover -t pdf -C ~/.disc-coverrc
Specify the CD-ROM device. Default is to use /dev/cdrom
This flag enables extended track information, when available. This extended information will be added below the track names. It is mostly used in compilation cds for artist information. Sometimes this extended track information has been used for lyrics, needles to say this will not fit at the back of one cd cover and hence to prevent the destruction of the layout only the first line will be used. That is why this is an option instead of default behaviour.
Use filename as input instead of searching the local and online CDDB database. File should be a valid CDDB entry.
Include the genre of the disc as the last line of the bottom text on the front cover. The line looks like this: "genre: genre". Default is off, as often the wrong genre is used or even just misc or data has been chosen.
Print help message and exit.
Show the manual page using pod2text, this should be installed and working (you can check this by typing 'pod2text /path/to/disc-cover')
Creates a new cddb entry. This works with any format, but should be used in conjunction with '-t cddb' to create a template for you to fill in. See the "FREQUENTLY ASKED QUESTIONS" to create covers for your custom cds or for cds that are not in the CDDB database yet.
The -o switch allows one to specify the name of the output file. By default the filename will be, where xxx is txt, tex, dvi, ps, pdf or html, depending on the file format. See -t option for supported file formats. Using "-o -" will send the output to standard output.
Includes the picture filename on the front cover in a framed box right aligned with the artist name. The format of the picture has to be known to the program convert that comes with ImageMagick. Also the graphicx package for LaTeX has to be available. The picture is scaled to 200x200 and converted into Adobe Encapsulated PostScript Interchange format. Remember that output in tex, dvi, txt, html and labelgen are completely useless with pictures. In case of output in pdf the picture is transformed into Encapsulated Portable Document Format (EPDF).
Include a graphics file on the front cover without converting it. This only works when the format of the file is the same as the output format. In case of PostScript (PS) output you can use Encapsulated PostScript (EPS,EPSI) files. In case of Portable Document Format (PDF) you can use Encapsulated Portable Document Format (EPDF). Note that this is essentially the same option as in "-p filename" but no scaling or converting is performed. More responsibility goes to the user this way.
By default disc-cover deletes all temporary files it creates before it exits. This behaviour can be overwritten by specifying the this option. For debugging purposes only.
Create a default configuration for the selection of CDDB server. This configuration is used by other CDDB aware programs too, so be careful. Note that Disc-Cover will not overwrite the configuration file.
The -t switch allows one to specify the output format. By default disc-cover will create a Postscript file. Other formats supported include ASCII text (txt), LaTeX (tex), DVI (dvi), PDF (pdf), cddb database format (cddb), a cdlabelgen compatible format (lbl) and in Hypertext Markup Language (html).
Fixes those annoying entries that are written without capitals. It capitalises every single word in titles and artists.
Print version and program information and exit.
Enable verbose output of Disc-Cover, the libaudiocd library and all third party software, such as LaTeX, dvips and convert. For debugging purposes.
Some CDDB entries code every track in the 'artist / title' format. Mostly, this is used for artists that contain various artists. By enabling this option Disc-Cover will decode and use that information.
Prints a list of output template types and their descriptions.


Disc-cover first checks the file /etc/disc-cover.conf for system wide parameters and then looks at ~/.disc-coverrc. Following are all the different variables that can be set. The file ~/.cdserverrc is used indirectly through the AudioCD library. This file contains the CDDB and CDINDEX servers. Furthermore it can be used to control certain other options of this library. See the appropriate documentation.

You can generate a configuration file with the "-C, -Configuration filename" option. Keep in mind that the values in this file will be set by looking at the current settings. That is, any existing configuration files or options on the commandline will be used.

To make a clean configuration file, first remove the ~/.disc-coverrc file and then run Disc-Cover without any option but '-C': disc-cover -C ~/.disc-coverrc

This will be used in the future by new versions of Disc-Cover to check for inconsistencies in changed, removed or added configuration options.

 Default: '1.4.0';
This sets the directory that is used for temporary files.

 Default: '/tmp';
This is the default output format. Although you can choose any of the types listed in 'disc-cover -h' option the most common would be 'ps' or 'pdf'.

 Default: 'ps';
The default cdrom drive that is used to scan a cd. See "-D, -Device device"

 Default: '/dev/cdrom';
The path where cddb entries are stored in and retrieved from. This can be shared with other programs that also use cddb.

 Default: "$ENV{HOME}/.cddb";
Setting this to one will force disc-cover to include extended track information. See "-e, -extended" option. It is advised to keep this 0 as there are lots of entries that contain ugly and meaningless extended information. Most of the time it is only useful in case of various artists cds.

 Default: 0;
Setting this to one will force disc-cover to parse every track the same way it parses the 'artist / title' label. This might be useful for various artist cds where every track is formatted in the same way. It is advised to leave this option 0, as disc-cover will issue a warning whenever it encounters such a disc. You can easily turn it on with "-va, -variousartists"

 Default: 0;
Setting this flag during the processing of a double cd (using the "-2, -second" option) enables a 'smart' algorithm that attempts to find a nice title for the cd, using the titles of both cddb entries. It will remove all characters unequal in both strings, and gets rid of any characters surrounding uncommon parts. Last, it removes the words 'disc' and 'disk', plus any whitespace at the beginning or end., -second>> option) enables a 'smart' algorithm that attempts to find a nice title for the cd, using the titles of both cddb entries. It will remove all characters unequal in both strings, and gets rid of any characters surrounding uncommon parts. Last, it removes the words 'disc' and 'disk', plus any whitespace at the beginning or end.

 Default: 1;
By setting this an additional line will be added to the bottom of the bottom text on the front cover with the genre (taken from the database) of the disc. See -g, -genre option.

 Default: 0;
Setting this flag does the same as the -allmusic option. That is, Disc-Cover will search for a cover picture on allmusic to be put on the front cover.

 Default: 0;
Setting this flag does the same as the -u,-uppercase option. That is, Disc-Cover will capitalise every single word in titles and artists.

 Default: 0;
This is a list of colours that can be set to alter most of the different items that appear on the covers. You can change the colour of the title, artist, discinfo, track strings, track numbers and track times independently. Use colours from the color.sty Latex file: black, white, red, green, blue, cyan, magenta and yellow.

 Default: ( title => 'black',
            artist => 'black',
            discinfo => 'black',
            track_number => 'black',
            track_string => 'black',
            track_time => 'black',
            track_extended => 'black'
            track_artist => 'black'
            flaptext => 'black',
This takes the string from the comments field of the user's password entry. We use only the text up until the first comma, which normally is set to the user's full name. You can also put a simple string here or an empty one to cancel the output. See also "-b, -flaptext text" option.

 Default: split ',', (getpwuid($<)))[6];
This determines for which type of case output is generated. It searches for a template file in all the @config_template_dirs with the same name.

 Default: "jewel";
If you create a template that requires special LaTeX packages, they can be added here. Generally not advised if you want to share your templates with others as they need to own those LaTeX packages, and add them to Disc-Cover's configuration file.

 Default: "";
Whenever you create cds with languages not normally supported by LaTeX you should add or change this. It calls \usepackage[$latex_language_encoding]{inputenc}. Main encodings are, latin1 for ISO Latin-1, ascii for pure ASCII, ansinew and cp1252 (they are synonyms) for Windows 3.1 ANSI (an MS extension of ISO Latin-1) and applemac for Apple MacIntosh.

 Default: "latin1";


Here you might find an answer between the FAQs.

Q: I get the following error (or similar), what's wrong?

 "Can't locate HTTP/ in @INC (@INC contains:
 /usr/lib/perl5/5.00502/i586-linux /usr/lib/perl5/5.00502
 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .)
 at ./disc-cover line 811.
 BEGIN failed--compilation aborted at ./disc-cover line 811."

A: Install the Perl modules called libwww-perl, HTML-Parser, URI, and MIME-Base64, which can be found at or at the 'more stuff...' directory on the homepage of Disc-Cover. See the file INSTALL for more details.

Q: I get the following error with the option -V, what's wrong?

 "Disc-Cover: running verbose version x.x.x (config y.y.y)
 Disc-Cover: creating tmp dir (/tmp/disc-cover-4436)
 Disc-Cover: calling Audio-CD library...
 Trying CDDB server cddbp://:0/
 Connection error: No such file or directory
 Could not establish connection with any CDDB servers!
 Disc-Cover: ...back from call to Audio-CD library.
 Disc-Cover: Audio-CD library says success, let's continue"

A: You have no CDDB servers configured. Either use the wonderful program cdcd to create such a configuration or run disc-cover with the options -S.

Q: How do I make a cover for homemade cds?

A: Follow these steps.

1. Insert the homemade cd.

2. Run disc-cover like this:
disc-cover -n -t cddb -o myfile.cddb

3. Edit the myfile.cddb with some text editor, the tracks will all be named
"Untitled". This should be very easy.

4. For printable output run disc-cover again:
disc-cover -f myfile.cddb

Q: I have been using 1.0.1. under SuSE 7.3 for a while an want to upgrade to 1.3.X or higher However, Audio-CD does not compile.

A: You have to install lbcdaudio first. Your distribution does not contain it, or it does not install it with the standard setup.

Q: After installation all my CD's are reread from the internet.

A: Run the following commands (from a script, if you like)

  cd ~/.cddb
  ln -s . blues
  ln -s . classical
  ln -s . country
  ln -s . data
  ln -s . folk
  ln -s . jazz
  ln -s . newage
  ln -s . reggae
  ln -s . rock
  ln -s . soundtrack
  ln -s . misc

Q: Q3. Mike Oliphant's grip creates cddb-files with track-artist held in a special field called TARTIST0, TARTIST1, ... Why can't disc-cover print these labels appropriately by the "-va" option?

A: Unfortunately Mike's idea to invent new tags for the track artist violates the freedb-conventions for handling samplers. There will be no support for this.

Q: How to cut the covers?

A: This is my routine for jewel cases, just one way of doing it. I start with the front cover. I cut it with two cuts along the width of the paper. This results in a front cover with two pieces of paper along the sides. These are folded backwards to help the cover keep in place when it is inserted in the jewel case. The back cover is just cut with four cuts.

Q: When I print my cover from PDF in Acrobat Reader the resulting covers are too small. How come?

A: Hendrik Neumann <>: The problem is the option 'Fit to page' that makes Acrobat Reader scale the page before printing. Turn it off before attempting to print.

Q: I'm not root and I want to install Audio::CD

A: Adam Spiers <>: make sure that the correct parameters are given to the perl Makefile.PL file as follows:

  perl Makefile.PL LIBS="-L/nfs-home/adams/local/lib -lcdaudio" \
  INC=-I/nfs-home/adams/software/libcdaudio-0.99.6/source PREFIX=~

Q: How do I make covers for double cds?

A: Follow these steps:

1. insert the second disc

2. Run disc-cover:
disc-cover -t cddb -o disc2.cddb

3. replace the second disc with the first

4. Run disc-cover again:
disc-cover -2 disc2.cddb

Q: The quality of the picture is reduced!

A: The image is resized to 200x200 pixels, this is to make sure that the size of the resulting eps or pdf picture is not too large. You can work around this by converting your picture yourself, for example with jpeg2ps, and then including this in your cover using the '-pic' option. This options includes files as they are.

Q: I want Disc-Cover to have this specific feature, what now?

A: Send me an e-mail with your feature or better yet, implement it yourself and send me a patch file. This does not guarantee that your feature will be in any future version though. I would like to keep Disc-Cover as simple to use as possible. But, sometimes I can't resist to put in something new, or the number of e-mails on one feature grows large enough for me to add it to Disc-Cover.

Q: I run Disc-Cover and it does not produce a correct cover, what's wrong?

A: I don't know! If you e-mail the problem I can try to fix it. When you mail some error please remember to state the problem as exact as you can and to include the cddb entry (save it with 'disc-cover -t cddb'). Also, two debug options are included. Use "-V, -Verbose" to get verbose output of what the program is doing. This helps me locate the problem if you email me your problem. Use "-R, -Remove" to prevent disc-cover from deleting temporary files. This enables you to examine intermediate files (.tex, .div, pictures).


System wide configuration file (for its format see "CONFIGURATION")). All its items can be overridden in a user configuration file.
User configuration file (for its format see "CONFIGURATION").
Configuration of the AudioCD library. Use this to select which servers are to be used.


Whenever there is more than one file in the cddb cache directory disc-cover will issue a warning and just use the first one it found.
Not possible to use CDINDEX files as input.
The layout of the tracks can be slightly deformed when special international characters or any other tall characters appear in the title.


disc-cover is written and maintained by J.I. van Hemert <> You can find the latest version on The program is licensed under the GNU Public License. More information about this license is in the source package in the file COPYING or on

2022-05-27 CD cover generator