>------------------------- jan 1990 ------------------------

CASSCOVER is a program for printing  music  cassette labels.

The output is produced in the form of a postscript file, but
it is possible to add a module for other types of output.
Each  section of this file starts with '>' for easy skipping
uninteresting things.End of file is marked with EOF (in case
you want to skip everything).

The program  can easily be  adapted for  printing labels for
compact disks or data  cartridges. Gosh! This  almost  looks
like an advertisement!

------------------------------------------------------------


COPYRIGHT :-)
>-----------------------------------------------------------
The program is in the Public Domain:it may be copied freely,
but never for commercial purposes. The code may be used with
the same restrictions. The README file must always accompany
the package  and  the references to the author should remain
intact. Finally, this program is delivered without warranty;
Use it at your own risk.
------------------------------------------------------------


GENERAL
>-----------------------------------------------------------
The filosophy while writing the program was not to create an
advanced userinterface, but rather to write the program in a
way that it compiles and runs on as many platforms  (we used
to call this 'machines') as possible, without changing code.
Some userinterface aspects are not very friendly (to say the
least),  but  nevertheless it is reasonably simple to obtain
the  results the  program was meant for:  printed covers for
music cassettes.
------------------------------------------------------------


ABOUT THE CODE (you could just type 'make' and skip this...)
>-----------------------------------------------------------
At first, the idea was just to write a quick hack which pro-
duced covers,but you know how it works: when you start using
a program, you feel the need to enhance the features. OK, so
it worked out this way. The result is that the code is some-
times a little -how do you say that?- hairy ?
Add to this the  fact that I wanted to use only  dynamically
allocated memory for storing cover info.  Just for practice.
Normally, I would make this kind of program more 'ad hoc'.
Ok, Now you have read my bad excuses:
             HOWTOWORKWITHTHEPROGRAM.
------------------------------------------------------------


HOW DOES IT WORK ?
>-----------------------------------------------------------
Read the file: DOC.TXT, which is an ASCII file.  Notice that
it might be a good idea to go over this README file first.
------------------------------------------------------------


HOW TO COMPILE THE PROGRAM
>-----------------------------------------------------------
On UNIX systems or an Atari ST with MWC C:type 'make' and it
should compile and run without any problems.
On other systems (like MS-DOS with Microsoft C), compile the
C-files and link them together with the standard C-library.
Unfortunately, MSC doesn't understand UNIX makefiles. Making
an MSC makefile is left as an exercise to the reader :-).

In the file 'defines.h' you  may want to change  the defini-
tion of SCRLINES,which is the maximum number of lines on the
screen (most  ttys: 24).
Also, you  may want to change the pathname to  the parameter
file. The program looks at two different places to find this
file:  PARAMFILE1 and  PARAMFILE2. The best idea is to leave
PARAMFILE1 as it is. This  enables a  user to create his own
paramfile in his local directory (or folder in atari terms),
but  when a user wants  to use  the  'predefined' paramfile,
the program will try to open PARAMFILE2.

WHAT IS THE PARAMFILE FOR?
The  paramfile  (named  CASSETTE.DAT)  offers the  users the
flexibility  to customize the  cassette cover.  See also the
next section.

The file output.c  contains the source code of the functions
that generates the  postscript file. It shows you that post-
script is not my native language. English also isn't, as you
may have noticed by now.
------------------------------------------------------------



THE PARAMETER/CONFIGURATION FILE
>-----------------------------------------------------------
The parameter file (CASSETTE.DAT) allows a user to customize
the cassette covers which are produced by the program.  This
section describes the format of this file.
All geometrical parameters are in tenths of millimeters, but
you may  easily change this  into, for example, tenths of an
inch by changing the definition of the multiplication factor
'tmm' in the file output.c

A description of EVERY line of the conf. file follows below:
All positions are with reference to the lower left corner of
the cover. What is the lower  left corner ?  The # indicates
the position of the lower left corner as I defined it :-).

       +-------------------------------+
       |a              |b              |
       |  ----------   |  ----------   |
       |  ----------   |  ----------   |
       |  ----------   L  ----------   |
       |               |               |
       |               |               |
       |               |               |
       |-------------------------------|
       | BACKTITLE                CODE |
       |-------------------------------|
       |                               |
       |# TAPESORT          NOISE-SYS  |
       +-------------------------------+

OK, here we go:

Position of the CODE:
	900 205			# CodeXPos and CodeYPos
    (90 millimeter to the right, 20.5 millimeter to the top)

Maximum length of the CODE (in characters):
	3			# CodeLen

Postscript font in which the CODE is printed:
	Helvetica-Bold		# CodeFont

Size of this font:
	17			# CodeFSize

----------

Position of TapeSort and noise Reduction system indications:
	250 90			# TsXPos and TsYPos
	600 90			# NrXPos and NrYPos

The font and size in which these two are printed:
	Helvetica-Bold		# TsNrFont
	10			# TsNrFSize

----------

Position of 'BACKTITLE' for sides A and B:
	50  240			# BT1XPos and BT1YPos
	50  187			# BT2XPos and BT2YPos

Length, font and fontsize thereof:
	35			# BTLen
	Helvetica		# BTFont
	11			# BTFSize

----------

Position, font and fontsize of the 'a' and 'b' on the front:
	25  925			# FrAXPos and FrAYPos
	525 925			# FrBXPos and FrBYPos
	Helvetica-Bold		# FrABFont
	10			# FrABFSize

Position, Font and fontsize titles following 'a' and 'b'  in
picture: (text printed  here is the same as the BACKTITLES).
	70  925			# FrTl1XPos and FrTl1YPos
	570 925			# FrTl2XPos and FrTl2YPos
	Helvetica		# FrTlFont
	8			# FrTlFSize

----------

Position of the first track of sides A and B respectively:
	25  875			# Tl1XPos and Tl1YPos
	525 875			# Tl2XPos and Tl2YPos

Maximum lenght of the title of a track (in characters):
	35			# TlLen

The vertical distance to next track title (= line distance):
	30			# TlLDist

Font and fontsize of the track titles:
(track titles are indicated as '----------' in  the picture)
	Helvetica		# TlFont
	7			# TlFSize

----------

Amount of space to be left  open (left of a track title) for
tape counter reading:
	80			# CtTlXDist

Maximum number of characters of a counter reading
	5			# CtLen

----------

Horizontal separation line on the front (not in the picture,
but is drawn under 'a' and 'b'). The line runs from X1 to X2
on height Y.
	30			#FTlSepX1
	970			#FTlSepX2
	915			#FTlSepY

Vertical separation line on the front (indicated with 'L' in
the picture): The line runs from Y1 to Y2 at position X.
	520			#FVSepX
	910			#FVSepY1
	305			#FVSepY2
------------------------------------------------------------


STORAGE FILES:
>-----------------------------------------------------------
The cassette  cover  information  is stored  in  a number of
files. The file  CATALOG.CAS contains a catalogue of the co-
vers that are in the 'database'.  The information of a cover
is stored in a file COVERxxx.COV, where xxx is a combination
of three letters.  The  first entered cover is COVERAAA.COV,
the second is COVERAAB.COV etc. The link between a cover and
a file is defined in the catalogue file CATALOG.CAS.

Because creating a number of covers results in as many files
(plus one, CATALOG.CAS), it is  wise  to put  your  cassette
cover  files in a separate directory. Unless you like chaos,
of course.
------------------------------------------------------------


AND FINALLY:
>-----------------------------------------------------------
I hope you  will like  this program.  When you make enhance-
ments or bugfixes, could you please send them  to me? My net
address is: remco@tnoibbc.ibbc.tno.nl.

The EOF is not here yet (got you when you wanted to skip the
entire file!).

As I stated in the beginning of this file: you may  use this
program  free.  But please,  if you like it: let me know  by
means of sending me a postcard so  that I  know  spending my
time was worthwhile.

My home address is:
    Remco Bruijne
    Lodewijk van Hamelstraat 15
    2264 DA  LEIDSCHENDAM
    The Netherlands

On the other  hand: if you  think the  program is completely
useless or written so lousy that it shouldn't even be fed to
a compiler,please also let me know, so that I can stop doing
things like this and making a fool of myself :-).

ENJOY IT!

Remco

PS: at least I *did* spend some time on writing this file...
------------------------------------------------------------
PPS, just before EOF was reached:  I also have a program for
     printing 3 1/2" floppy labels. It is written as a DBman
     version 2.0  application on an Atari ST. Output is pro-
     duced  for a  NEC P6+ Pinwriter  (which is a  fantastic
     printer, by the way).
EOF
