DISC-COVER(1)

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

SYNOPSIS
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

DESCRIPTION
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 (http://www.red-bean.com/~bwf/software/cdlabelgen/), another cover builder.

QUICKSTART
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.

LAYOUT
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.

FEATURES

- Uses Latex to produce high quality output.
- Outputs in Latex, Dvi, Postscript, Pdf, Cddb entry, HTML, Text and a format to use with cdlabelgen.
- Supports caching of cddb entries in a directory that can be shared with other cddb-aware programs.
- Connects with a cddb or cdindex server to get the disc title, artist and list of track titles and extended information where available.
- Optionally put a picture on the front cover, supports almost any image format.
- Optionally let Disc-Cover search on allmusic.com for a small version of the corresponding front cover of the cd, which it will put on your front cover.
- Assign different colours to different items such as artist name and track numbers.
- Supports double albums (two cds in one jewel case).
- Creates covers for jewel cases and various slim cases.

OPTIONS

-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.

-a, -additional text
    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 " "'.

-allmusic
    Search on wwww.allmusic.com 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.

-b, -flaptext text
    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 " "'.

-c, -casetype (jewel|slim|x-slim|tevion-slim|letter-slim)
    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.

-C, -Configuration filename
    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

-D, -Device device
    Specify the CD-ROM device. Default is to use /dev/cdrom

-e, -extended
    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.

-f, -file filename
    Use filename as input instead of searching the local and online CDDB database. File should be a valid CDDB entry.

-g, -genre
    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.

-h, -help
    Print help message and exit.

-H, -Help
    Show the manual page using pod2text, this should be installed and working (you can check this by typing 'pod2text /path/to/disc-cover')

-n, -new
    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.

-o, -output filename
    The -o switch allows to specify the name of the output file. By default the filename will be Artist_Title.xxx, 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.

-p filename
    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).

-pic filename
    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.

-R, -Remove
    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.

-S, -Server
    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.

-t, -type txt|tex|dvi|ps|pdf|cddb|lbl|html
    The -t switch allows 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).

-u, -uppercase
    Fixes those annoying entries that are written without capitals. It capitalises every single word in titles and artists.

-v, -version
    Print version and program information and exit.

-V, -Verbose
    Enable verbose output of Disc-Cover, the libaudiocd library and all third party software, such as LaTeX, dvips and convert. For debugging purposes.

-va, -variousartists
    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.

-template_list
    Prints a list of output template types and their descriptions.

CONFIGURATION
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

$config_version_config
    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';

$config_tmp_dir
    This sets the directory that is used for temporary files.

     Default: '/tmp';

$config_output_format
    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';

$config_device
    The default cdrom drive that is used to scan a cd. See "-D, -Device device"

     Default: '/dev/cdrom';

$config_cddb_cache_directory
    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";

$flag_with_extended_track_info
    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;

$flag_various_artist_cd
    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 adviced 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;

$flag_double_disc_cdtitle
    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;

$flag_genre
    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;

$flag_picture_use_allmusic
    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;

$flag_uppercase_fix
    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;

%config_latex_colors
    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',
              );

$config_flaptext
    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];

$config_casetype
    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";

$latex_user_packages
    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: "";

$latex_language_encoding
    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";

FREQUENTLY ASKED QUESTIONS
Here you might find an answer between the FAQs.

  Q: I get the following error (or similar), what's wrong?
 "Can't locate HTTP/Request.pm 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 www.cpan.org 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 lables 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 <h-n@gmx.net>: 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 <adam@spiers.net>: 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).

FILES

/etc/disc-cover.conf
    System wide configuration file (for its format see "CONFIGURATION")). All its items can be overridden in a user configuration file.

$HOME/.disc-coverrc
    User configuration file (for its format see "CONFIGURATION").

$HOME/.cdserverrc
    Configuration of the AudioCD library. Use this to select which servers are to be used.

BUGS

1.  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.

2.  Not possible to use CDINDEX files as input.

3.  The layout of the tracks can be slightly deformed when special international characters or any other tall characters appear in the title.

AUTHORS
disc-cover is written and maintained by J.I. van Hemert <jvhemert@cwi.nl> You can find the latest version on http://www.cwi.nl/~jvhemert/disc-cover.html 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 http://www.gnu.org/copyleft/gpl.html