NAME

cdlabelgen - CD jewel case inserts creator. Generates frontcards and traycards for CD cases


SYNOPSIS

cdlabelgen -c <category> -s <subcategory> [-i <item1%item2%etc> -f<itemsfile> -e <cover_epsfile> -S <cover_eps_scaleratio> -E <tray_epsfile> -T <tray_eps_scaleratio> -d <date> -D -o <outputfile> -t <template> -b -w -h -m -p]


VERSION

Version 2.1.3


DESCRIPTION

cdlabelgen's purpose in life is twofold:

cdlabelgen was designed to simplify the process of generating labels for CD's. It originated as a program to allow auto generation of frontcards and traycards for CD's burned via an automated mechanism (specifically for archiving data), but has now become popular for labelling CD compilations of mp3's, and copies of CDs. Note that cdlabelgen does not actually print anything--it just spits out postscript, which you can then do with as you please.

The latest version of cdlabelgen as well as this document can be found at http://www.aczone.com/tools/cdinsert/. The software package includes CGI scripts that can be used to serve cdlabelgen over the internet. An older version may be available at: http://www.red-bean.com/~bwf/software/cdlabelgen/.

Thanks to some really hairy postscript from GNUPlot, cdlabelgen now supports arbitrary ISOLatin font characters. This means that you can print out characters like æøåÆØÅ (ASCII \230, \248, \229, \198, \216 and \197)

cdlabelgen comes with several eps images for you to use on your labels. These images can be found in /usr/local/lib/cdlabelgen or /usr/share/cdlabelgen or /usr/local/share/cdlabelgen, depending on your installation. Included are a Recycling icon, an mp3 icon, the Compact Disc icon (with and without 'Digital' on it), Tux the penguin, and the new Debian 'swirl' logo. Two color background images called Music Notes are also available.

Note that cdlabelgen now prints a 'tongue' as part of the traycard. This folds around and is viewable from the front in jewel boxes that are entirely clear (CD holder piece is not opaque). If you do not have a clear CD holder in your jewel box, you may find it easier to just cut the 'tongue' off--it's a bit easier to fold without it.

cdlabelgen requires Perl Version 5.003 or greater. Ghostscript is not required, but is recommended so that you can test out your labels without wasting paper.


SWITCHES

-c category
Set the category (title) for the CD

-s subcategory
Set the subcategory (subtitle) for the CD

-i items
'items' should be a '%' separated list of items to print on the traycard of the CD. Note that if the number of items are too many to fit on the tray card, cdlabelgen will leave out some items at the end. cdlabelgen automatically flows the items into 2, 3, 4, or 5 columns and scales the fontsize accordingly, unless the -P option is used. You can insert blank lines by inserting 2 percent signs in a row into the items list.

-f filename
Get item names from file named filename. Each item should be on its own line separated by carriage returns. cdlabelgen automatically flows the items into 2, 3, 4, or 5 columns and scales the fontsize or clips the items as needed. You can insert blank lines by placing blank lines between items in this file

-d date
Set the date to be used as 'date' if not set or not overridden with the -D flag, today's date will be used (default is today's date). Use this option if you don't like cdlabelgen's default format of YYCC-MM-YY, for example.

-D
Do not print any date (overrides -d as well)

-e cover_epsfile
Filename of eps file to print on cover. Note that cdlabelgen requires that the eps file contain a proper '%%BoundingBox LLx LLy URx URy' declaration according to the PostScript Document Structuring Conventions. cdlabelgen uses this line to determine the dimensions of the eps graphic so that it can position it appropriately on the cover. Note that cdlabelgen first looks for this file in your working directory. If it doesn't find it there, it will look in the list of directories where the default eps files are stored (see @where_is_the_template). This makes it easy to use the images shipped with cdlabgelgen without typing miles of pathnames.

-S cover_eps_scaleratio
The ratio by which you want to scale the epsfile that appears on the cover. If you omit this flag, cdlabelgen assumes a scaleratio of 1.0. This flag allows you to squeeze larger graphics into the cover or expand smaller graphics to fill the cover. Scaleratio must be a number (int or float).

If the value passed is 0.0 (note: not 0, but 0.0), then the logo is used as a background image - it will be scaled as required to fit the entire cover.

-E tray_epsfile
Filename of eps file to print on traycard. Note that cdlabelgen requires that the eps file contain a proper '%%BoundingBox LLx LLy URx URy' declaration according to the PostScript Document Structuring Conventions. cdlabelgen uses this line to determine the dimensions of the eps graphic so that it can position it appropriately on the cover. Note that cdlabelgen first looks for this file in your working directory. If it doesn't find it there, it will look in the list of directories where the default eps files are stored (see @where_is_the_template). This makes it easy to use the images shipped with cdlabgelgen without typing miles of pathnames.

-T tray_eps_scaleratio
The ratio by which you want to scale the epsfile that appears on the traycard. If you omit this flag, cdlabelgen assumes a scaleratio of 1. This flag allows you to squeeze larger graphics into the traycard or expand smaller graphics to fill the traycard. Scaleratio must be a number (int or float).

If the value passed is 0.0 (note: not 0, but 0.0), then the logo is used as a background image - it will be scaled as required to fit the entire tray card (or inside cover).

-o outputfile
If the -o flag is used, cdlabelgen prints to outputfile instead of STDOUT.

-t template
Specify explicitly which template to use. This is useful if you need to debug the PostScript code in the template, use a different template, or if you have created your own template to use in lieu of the one provided with cdlabelgen.

-b
Suppresses printing of the Plaque on the traycard, thus allowing you to either fit even more items on the traycard, or to use a slightly larger font size for the items.

-h
print out the usage message

-w
Enables word wrapping of the items that print on the traycard. Note that this is *not* extensively tested and may be buggy! Make sure that you preview your label before printing it if you use this flag.

If there is a problem with -w, the best option right now is to split lines in the input itself, and to omit the -w option.

-m
Creates covers suitable for use in slim cd-cases, this means no tray card (the tray card is now the inside front cover). This creates a two page, folding cover insert. This could also be used in normal cd cases.

-p
Enables clipping of items; uses fixed font size for all items. Normally, the template.ps used by cdlabelgen will try to fit an item in a given column by reducing the font size if needed. This is ok if done for one or two items, but if done too often, it makes the tray card look ugly, with text of varying font sizes.

Use this option to use a fixed width font for all items. If the item is too large to fit in a column, the text will be clipped instead.


EXAMPLES

    ./cdlabelgen -c "My Filesystem" -s "/usr/local/foo" -e postscript/recycle.eps > foo.ps
    ./cdlabelgen -c "title of cd" -s "subtitle" -i "Item 1%and Item 2%a third item here perhaps" -e postscript/recycle.eps > bar.ps
    ./cdlabelgen -c "Fitz" -s "home directory" -o qux.ps


AUTHOR

Currently maintained by Avinash Chopde <avinash@acm.org>

Last Updated: July 2001

Original author: B. W. Fitzpatrick <fitz@red-bean.com>


THANKS

    - Karl Fogel, for general encouragement and that free software vibe
    - Adam Di Carlo, for bug testing, help and making the .deb
    - Greg Gallagher, for bug testing, coding, and tons of suggestions
    - Goran Larsson, for feedback and date fixes
    - Jens Claussen, for the patch to allow arbitrary ISO-Latin1 characters
    - Bernard Quatermass, for contributing several excellent new features
    - Sebastian Wenzler <sick@home.and.drunk.at> for reports, tests, RPM.


ERRATA

Perhaps one of the most important features that I wanted in a CD labelling program was the ability to print Title/Subtitle, and date information on the endcaps of the CD jewel box to allow me to keep archive disks in a standard CD rack and find a particular one without yanking them all out and shuffling through them like a deck of cards.

cdlabelgen was inspired by the need for not only a simple cd labelling program (there are many available), but by the need for a free labelling program which could be integrated easily with scheduled CD archiving routines. I did find a program called cdlabel http://londo.ncl.ac.uk/~npac/cdlabel/, but that one is designed to work with CDDB.

I searched the net for a suitable program, but found none, so taking cues from programs that I found that perform similar tasks (like tape labellers and DAT labellers), I embarked on this venture. Notable inspiration came from the incredible audio-tape.ps by Jamie Zawinski (which is indeed, as Jamie notes, completely out of control). Other ideas were drawn from casslabel.c, and cdlabel.cc (noted above).

People have already pointed out to me that cdlabelgen could be extended to perform other functions:

Please report bugs and submit any patches to the Author's email address.


TODO

In order of importance.

* Add cdindex support