[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::guitar

Title:GUITARnotes - Where Every Note has Emotion
Notice:Discussion of the finer stringed instruments
Moderator:KDX200::COOPER
Created:Thu Aug 14 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3280
Total number of notes:61432

2190.0. "Cassette cartidge labels" by MAIL::TRIGG::EATON (In tents) Mon May 06 1991 14:14

	Has anyone used a home computer to create the labels you stick on a 
cassette?  Or have any of you had special labels printed up for you (perhaps 
with a special logo or sumfin')?

	I'd be interested in anyone's experience with this.  I know of software 
to print out the inserts to the cassette box, but not for the sticky label 
on the cassette itself.

	Dan (who couldn't get into COMMUSIC to ask this)
T.RTitleUserPersonal
Name
DateLines
2190.1Is a DECstation3100 a 'home computer'?PIPPER::KELLYJTone droidMon May 06 1991 17:137
    I know that Avery makes labels which are safe for use in a laser
    printer, but I'm not sure if they make a cassette formfactor.  If they
    do, or someone else does, then you could use DECwrite to create the
    label and your local LN03x or LPSx0 to print 'em.
    
    I'll ask a friend in the printing business for his advice and get back
    to you.
2190.2AlphaGraphicsWEORG::WIEGLERTue May 07 1991 12:0610
    I have had some printing work done by a shop called AlphaGraphics in
    Nashua, NH. I believe they are a chain with stores scattered across the
    country.  I know that they will print cassette labels for you.  Their
    prices are generally pretty reasonable.  I'm not sure what your intended
    use is.  If you want to print up a bunch of the same labels (like for
    demo tapes or for releasing your own tape), then this may be a good
    option for you.  On the other hand, if you want to just print
    one-of-a-kind labels for your own use, then this isn't what you want.
    
    	Willy
2190.3two ways to goMAIL::TRIGG::EATONIn tentsTue May 07 1991 13:428
	There are two ways I could go...  If I get a PC or an ST (currently 
trying to decide), I would be looking for some way to print out the labels 
myself.  In which case I'd be looking for blank, form-fed cassette labels.  If I
don't get a PC or ST, I'll want a professional printer to put my logo on 
form-fed cassette labels, and I'll use either my DEC terminal and an LA50 or the
kids' C64 and whatever printer we end up getting.

	Dan
2190.4Stand by for a test reportPIPPER::KELLYJTone droidTue May 07 1991 15:003
    A friend is going to drop of some blank sticky back labels Friday; I'll
    let you know how they work out in an LN03R.
                                
2190.5Cassette cover .PS file ....RAVEN1::JERRYWHITEHere's a quarter ...Fri Jul 26 1991 09:31150
    I was trying to do a search to find the cassette cover for GUITARnotes
    Vol. II, and stumbled across this topic.  I thought some of you might
    be interested in a different type of cassette label so I entered the
    .PS file here.  This is the cover I used for a tape containing both
    Eric Johnson CD's.  My suggestion (if you want to make some of your
    own) is to extract it, edit it down to the cut, print it out twice. 
    Once just like you see it, and once to a postscript printer - that'll
    give ya the before/after picture, allowing you to see what needs to be
    editted to create your own.  
    
    Now, will someone point me to the cover label for Vol. II ?  8^)
    
    [------------------------------ cut here -----------------------------------]
 /inch {72 mul} def 20 20 translate
 0.0 inch 0.0 inch moveto
 3.94 inch 0 rlineto
 0.0 inch 2.47 inch rlineto
 -3.94 inch 0.0 inch rlineto
 0.0 inch -2.47 inch rlineto
 1 setlinewidth
 closepath
 1 setgray
 fill
 0 setgray
 newpath
 1.97 inch 0 inch moveto
 1.97 inch 2.47 inch lineto
 1 setlinewidth
 closepath
 stroke
 newpath
 0.0 inch 2.2 inch moveto
 3.94 inch 2.2 inch lineto
 1 setlinewidth
 closepath
 stroke
 0 setgray
 0.0 inch 2.47 inch translate
 0.0 inch 0.0 inch moveto
 3.94 inch 0 rlineto
 0 0.5 inch rlineto
 -3.94 inch 0 rlineto
 0 0.5 inch rlineto
 closepath
 1 setgray
 fill
 0.0 inch 0.0 inch moveto
 3.94 inch 0 rlineto
 0 0.5 inch rlineto
 -3.94 inch 0 rlineto
 0 0.5 inch rlineto
 closepath
 0 setgray
 stroke
 /Helvetica findfont 11 scalefont setfont
 0.1 inch 0.3 inch moveto
 (ERIC JOHNSON) show  
 ( - Ah Via Musicom) show  
 /Helvetica findfont 11 scalefont setfont
 0.1 inch 0.07 inch moveto
 (ERIC JOHNSON) show  
 ( - Tones) show  
 0.0 inch 0.5 inch translate
 0.0 inch 0.0 inch moveto
 3.94 inch 0 rlineto
 0.0 inch 0.62 inch rlineto
 -3.94 inch 0 rlineto
 0.0 inch -0.62 inch rlineto
 closepath
 0.9 setgray
 fill
 0 setgray
 /Times-Bold findfont 11 scalefont setfont
 0.1 inch 0.4 inch moveto
 ("Ah Via Musicom" recorded from tape on 03-10-91.) show 
 () show 
 /Times-Bold findfont 11 scalefont setfont
 0.1 inch 0.1 inch moveto
 ("Tones" recorded from tape on 03-10-91.) show 
 () show 
 0.0 inch -3.00 inch translate
 0.0 inch 0.0 inch moveto
 3.94 inch 0 rlineto
 0.0 inch 3.63 inch rlineto
 -3.94 inch 0 rlineto
 0.0 inch -3.63 inch rlineto
 3.94 setlinewidth
 0 setgray
 closepath
 stroke
 /Times-BoldItalic findfont 8 scalefont setfont
 0.1 inch 2.3 inch moveto
 ((A) ERIC JOHNSON - Ah Via Musicom) show 
 2.1 inch 2.3 inch moveto
 ((B) ERIC JOHNSON - Tones) show 
 /Helvetica findfont 7 scalefont setfont
 0.1 inch 2.03 inch moveto
 (Ah Via Musicom) show 
 0.1 inch 1.91 inch moveto
 (Cliffs Of Dover) show
 0.1 inch 1.79 inch moveto
 (Desert Rose) show
 0.1 inch 1.67 inch moveto
 (High Landrons) show
 0.1 inch 1.55 inch moveto
 (Steve's Boogie) show
 0.1 inch 1.43 inch moveto
 (Trademark) show
 0.1 inch 1.31 inch moveto
 (Nothing Can Keep Me From You) show
 0.1 inch 1.19 inch moveto
 (Song For George) show
 0.1 inch 1.07 inch moveto
 (Righteous) show
 0.1 inch 0.95 inch moveto
 (Forty Mile Town) show
 0.1 inch 0.83 inch moveto
 (East Wes) show
 0.1 inch 0.71 inch moveto
 (-------) show
 0.1 inch 0.59 inch moveto
 (-------) show
 2.1 inch 2.03 inch moveto
 (Soulful Terrain) show 
 2.1 inch 1.91 inch moveto
 (Friends) show
 2.1 inch 1.79 inch moveto
 (Emerald Eyes) show
 2.1 inch 1.67 inch moveto
 (Off My Mind) show
 2.1 inch 1.55 inch moveto
 (The Desert Song) show
 2.1 inch 1.43 inch moveto
 (Trail Of Tears) show
 2.1 inch 1.31 inch moveto
 (Bristol Shore) show
 2.1 inch 1.19 inch moveto
 (Zap) show
 2.1 inch 1.07 inch moveto
 (Victory) show
 2.1 inch 0.95 inch moveto
 (-------) show
 2.1 inch 0.83 inch moveto
 (-------) show
 2.1 inch 0.71 inch moveto
 (-------) show
 2.1 inch 0.59 inch moveto
 (-------) show
 showpage
         
2190.6a "simple" lable makerVSSCAD::GATULISFrank Gatulis 226-6140Fri Jul 26 1991 10:30157
    For those that just want a real quick and easy way to make cassetts
    lables I've included a variation of the .PS skelleton I did a while
    so my kids could make lables.  Simply fill in the blanks with your
    favorite editor.
    
    -------------------- cut here -------------------------------   
% A generic cassette tape label printer  ....  
%
% *******************************************************************
% *               Simply add your text between ()                   *
% *******************************************************************
% 
% -------------------  here's the user supplied data ---------------
%
% The text for 2 lines on the backside
 /back_line_1 ( ) def 
 /back_line_2 ( ) def 
%
% The text for 2 lines in the top
 /top_line_1 ( ) def 
 /top_line_2 ( ) def 
%
% The text for the A-side title and up to 17 song titles
 /A_side_title ( ) def
 /A_song_1  ( ) def
 /A_song_2  ( ) def
 /A_song_3  ( ) def
 /A_song_4  ( ) def
 /A_song_5  ( ) def
 /A_song_6  ( ) def
 /A_song_7  ( ) def
 /A_song_8  ( ) def
 /A_song_9  ( ) def
 /A_song_10 ( ) def
 /A_song_11 ( ) def
 /A_song_12 ( ) def
 /A_song_13 ( ) def
 /A_song_14 ( ) def
 /A_song_15 ( ) def
 /A_song_16 ( ) def
 /A_song_17 ( ) def
%
% The text for the B-side title and up to 17 song titles
 /B_side_title ( ) def
 /B_song_1  ( ) def
 /B_song_2  ( ) def
 /B_song_3  ( ) def
 /B_song_4  ( ) def
 /B_song_5  ( ) def
 /B_song_6  ( ) def
 /B_song_7  ( ) def
 /B_song_8  ( ) def
 /B_song_9  ( ) def
 /B_song_10 ( ) def
 /B_song_11 ( ) def
 /B_song_12 ( ) def
 /B_song_13 ( ) def
 /B_song_14 ( ) def
 /B_song_15 ( ) def
 /B_song_16 ( ) def
 /B_song_17 ( ) def
%
% ----------------------  The actual program ---------------------
 /inch {72 mul} def           % converts inches to points
 0.5 inch 6.9 inch translate  % move to upper left portion of page
 0 setgray                    % set color to black
 1 setlinewidth               % set linewidth to 1 point
%
% ---- front do the vertical and horizontal lines
 newpath
  1.97 inch 0 inch moveto
  1.97 inch 2.47 inch lineto
 stroke
 newpath
  0.0 inch 2.2 inch moveto
  3.94 inch 2.2 inch lineto
 stroke
%
% ---- relocate the origin and do the top box
 0.0 inch 2.47 inch translate
 newpath
  0.0 inch 0.0 inch moveto
  3.94 inch 0 rlineto
  0 0.5 inch rlineto
  -3.94 inch 0 rlineto
 closepath  stroke
 /Helvetica findfont 11 scalefont setfont
 0.1 inch 0.3 inch moveto top_line_1 show  
 0.1 inch 0.07 inch moveto top_line_2 show  
%
% ---- relocate the origin and do the back box
 0.0 inch 0.5 inch translate
 newpath
  0.0 inch 0.0 inch moveto
  3.94 inch 0 rlineto
  0.0 inch 0.62 inch rlineto
  -3.94 inch 0 rlineto
 closepath  0.9 setgray  fill
 0 setgray
 /Times-Bold findfont 11 scalefont setfont
 0.1 inch 0.4 inch moveto back_line_1 show
 0.1 inch 0.1 inch moveto back_line_2 show
%
% ---- relocate the origin and do the overall "thick" outline
 0.0 inch -3.00 inch translate
 newpath
  0.0 inch 0.0 inch moveto
  3.94 inch 0 rlineto
  0.0 inch 3.63 inch rlineto
  -3.94 inch 0 rlineto
 closepath  3.94 setlinewidth stroke
 1 setlinewidth

%
% ---- Put text in the front
 /Times-Bold findfont 8 scalefont setfont
 0.1 inch 2.3 inch moveto A_side_title show
 2.1 inch 2.3 inch moveto B_side_title show
%
 /Helvetica findfont 7 scalefont setfont
 0.1 inch 2.03 inch moveto A_song_1 show
 0.1 inch 1.91 inch moveto A_song_2 show
 0.1 inch 1.79 inch moveto A_song_3 show
 0.1 inch 1.67 inch moveto A_song_4 show
 0.1 inch 1.55 inch moveto A_song_5 show
 0.1 inch 1.43 inch moveto A_song_6 show
 0.1 inch 1.31 inch moveto A_song_7 show
 0.1 inch 1.19 inch moveto A_song_8 show
 0.1 inch 1.07 inch moveto A_song_9 show
 0.1 inch 0.95 inch moveto A_song_10 show
 0.1 inch 0.83 inch moveto A_song_11 show
 0.1 inch 0.71 inch moveto A_song_12 show
 0.1 inch 0.59 inch moveto A_song_13 show
 0.1 inch 0.47 inch moveto A_song_14 show
 0.1 inch 0.35 inch moveto A_song_15 show
 0.1 inch 0.23 inch moveto A_song_16 show
 0.1 inch 0.11 inch moveto A_song_17 show
%
 2.1 inch 2.03 inch moveto B_song_1 show
 2.1 inch 1.91 inch moveto B_song_2 show
 2.1 inch 1.79 inch moveto B_song_3 show
 2.1 inch 1.67 inch moveto B_song_4 show
 2.1 inch 1.55 inch moveto B_song_5 show
 2.1 inch 1.43 inch moveto B_song_6 show
 2.1 inch 1.31 inch moveto B_song_7 show
 2.1 inch 1.19 inch moveto B_song_8 show
 2.1 inch 1.07 inch moveto B_song_9 show
 2.1 inch 0.95 inch moveto B_song_10 show
 2.1 inch 0.83 inch moveto B_song_11 show
 2.1 inch 0.71 inch moveto B_song_12 show
 2.1 inch 0.59 inch moveto B_song_13 show
 2.1 inch 0.47 inch moveto B_song_14 show
 2.1 inch 0.35 inch moveto B_song_15 show
 2.1 inch 0.23 inch moveto B_song_16 show
 2.1 inch 0.11 inch moveto B_song_17 show
 showpage
    
2190.7RAVEN1::JERRYWHITEHere's a quarter ...Fri Jul 26 1991 10:415
    RE: -1
    
    THANKS !  That's pretty sharp, and a LOT easier to use.
    
    Scary
2190.8HAVASU::HEISERread my mips, know new vaxesFri Jul 26 1991 14:121
    I get PostScript errors with that Eric Johnson file.  
2190.9RAVEN1::JERRYWHITEHere's a quarter ...Fri Jul 26 1991 14:313
    What kind of errors ?  I just printed it to an LN03 ... worked fine.
    
    Scary
2190.10PostScript errorHAVASU::HEISERread my mips, know new vaxesFri Jul 26 1991 16:561
    Well I used the LPS40 and it choked on it, flushed the whole job.
2190.11RAVEN1::JERRYWHITEHere's a quarter ...Fri Jul 26 1991 17:104
    Might be a version error or something .... try it on a LN03 ...
    
    Scary (who loves this new, simpler one ... but STILL doesn't have a
    clue where to find the cover for VOL. II !!!)
2190.12CAVLRY::BUCKtear down the wallsFri Jul 26 1991 17:173
    Forget the label...where can I get a COPY of Vol II??
    
    Buck, has yet to hear it
2190.13pointerQRYCHE::STARRSpontaneity has its time and place.Fri Jul 26 1991 17:446
>    Scary (who loves this new, simpler one ... but STILL doesn't have a
>    clue where to find the cover for VOL. II !!!)

See note #1665.364

alan
2190.14RAVEN1::JERRYWHITEHere's a quarter ...Sat Jul 27 1991 12:303
    THANKS !!!  
    
    Scary
2190.15strangeHAVASU::HEISERread my mips, know new vaxesSat Jul 27 1991 14:314
    I'm not sure what it is, but I was able to print this version.  The
    first time you posted the EJ file, it choked my LPS40.
    
    Mike
2190.16Can I copyright Postscript files?MALLET::BARKERPretty Damn CosmicWed Jul 31 1991 09:0418
re .5

Hey is that my code? Certainly looks just like the .PS files that my mammoth
DCL command procedure LABEL.COM produces. Gives you a funny feeling like when I
went onto a customer site & discovered a .COM that I'd written 4 years
previously for an internal system (to manage the then brand new LN03 printers).

If anyone wants to try this program just extract it from the next reply. It's
pretty well documented internally. You can either create a label interactively
or get it to read through a data file (See sample TEST.LABEL in the next reply
+1). I've not played with it in over 18 months but it's pretty bug-free, as
it's in DCL it's pretty easy to customize too. There's some fancy on-screen
previewing of the finished labels. 

Let me know if you use & enjoy it. I might even do some more work on it e.g. 
add logos & scanned images, DECwindows interface or even colour.

Nigel
2190.17LABEL.COMMALLET::BARKERPretty Damn CosmicWed Jul 31 1991 09:05720
$
$!		LABEL.COM
$
$!	This program will read a data file of song titles, artist
$!	and record title and produce a Postscript file for cassette labels
$
$!	19-JAN-1989	Nigel Barker
$!	28-NOV-1989	NB
$
$
$INIT:
$
$ gosub symbols
$ on control_y then goto close_files
$ on error then goto close_files
$
$START:
$ say clear_screen
$ say program_title
$ say ""
$
$! If 'P1' is passed this is the name of an input file
$ if p1 .eqs. "" then goto read_filename
$ input_file	=	p1
$! if we pass p2 it defines if we want prompts as we go through the source file
$ notinteractive	=	p2
$ goto open
$
$READ_FILENAME:
$! Get the name of the input file we are going to use
$ read sys$command/end_of_file=exit/prompt=-
	"Input filename : <NO FILE EXISTS> " input_file
$! if a file name is given then skip to actually create output file
$ if input_file .nes. "" then goto open
$
$
$READ:
$! Read in details of album
$ read sys$command/prompt="Artist name : <EXIT> " artist
$ if artist .eqs. "" then goto close_source
$ read sys$command/prompt="Album title : " title
$ read sys$command/prompt="Set number : " set_number
$ read sys$command/prompt="Songlist heading : <''title'>" heading
$ if heading .eqs. "" then heading = title
$
$! define name of source file we are going to write to
$ source_file		:=	source.txt
$! open new source file for write
$ open/write		source	'source_file'
$
$ write source artist
$ write source title
$ write source heading
$ write source set_number
$
$! Loop around collecting songtitles & write them to output file
$SONG_LOOP:
$ read sys$command/prompt="Song title : <EXIT> " songtitle
$! exit out of loop if <RET> is hit
$ if songtitle .eqs. "" then goto song_loop_exit
$ write source songtitle
$ goto song_loop
$
$SONG_LOOP_EXIT:
$!Last songtitle should be % character
$ write source "%"
$
$! Go back and read some more titles
$ goto read
$
$CLOSE_SOURCE:
$! Close the file
$ close source
$! Rename it to a name made up from title
$ input_file	= f$extract(0,f$locate("'",title),title)
$ input_file	=input_file + f$extract(f$locate("'",title)+1,20,title)
$ input_file	=	f$edit(input_file,"collapse") + ".label"
$ rename/nolog	'source_file'	'input_file'
$
$ say ""
$ say "Details stored in file ''input_file'"
$ say ""
$
$! Check whether this newly created input file should be processed
$ prompt	=	"Do you want to make a label from this new file ? <Y> "
$ read sys$command/end_of_file=close_files/prompt="''prompt'" rep
$ if rep .eqs. "" then rep = "Y"
$ if .not. rep then goto exit
$
$OPEN:
$! if there is no . then append .label to filename
$ if f$locate(".",input_file) .eq. f$length(input_file) then -
	input_file = input_file + ".LABEL"
$! Open input file
$ open/read			infile	'input_file'
$! Open the output filename is 'input_file'.ps
$
$OPEN_OUTPUT_FILE:
$ output_file	=	f$element(0,".",input_file) + ".PS"
$ open/write	outfile		'output_file'
$
$! Actually start writing the output file
$WRITE_LABEL:
$! Write out the initial macro for postscript printers defining x,y origin
$ outrec	=	" /inch {72 mul} def 20 20 translate"
$ write		outfile		outrec
$
$! Start off doing side A
$ side		=	"A"
$! Counter for number of labels on one sheet
$ label_count	=	0
$
$! Read first 3 lines
$READ_TITLES:
$! Counter for number of songs. Zeroized if side A
$ if side .eqs. "A" then count = 0
$ read/end_of_file=close_files	infile	artist'side'
$ read/end_of_file=close_files	infile	title'side'
$ read/end_of_file=close_files	infile	heading'side'
$ read/end_of_file=close_files	infile	set_number'side'
$ read/end_of_file=close_files	infile	first_song'side'
$! Only accept set_number for side A  & only 3 characters
$ set_number = f$extract(0,3,set_numbera)
$
$! Display lines on screen
$ if side .eqs. "A" then say clear_screen
$ if side .nes. "A" then say ""
$ say "''bold'SIDE ''side'''off'"
$ say "''bold'Artist : ''off'" + artist'side'
$ say "''bold'Title : ''off'" + title'side'
$ say "''bold'Heading ''off'" + heading'side'
$ say "''bold'First song ''off'" + first_song'side'
$ if set_numbera .nes. "" .and. side .eqs. "A" -
		then say "''bold'Set number : ''off'" + set_number
$ say ""
$
$! If we are running non-interactively then skip the prompts
$ if notinteractive then goto read_songs
$
$! Check that this is the correct one to print
$ prompt	=	"Is this the correct artist & title etc ? <Y> "
$ read sys$command/end_of_file=close_files/prompt="''prompt'" rep
$ if rep .eqs. "" then rep = "Y"
$
$! If correct then go on to start collecting these titles into local symbols
$ if rep then goto read_songs
$
$! Not the correct one so keep reading through until next set of titles
$READ_TITLE_LOOP:
$ read infile test
$ if test .eqs. "%" then goto read_title_loop_end
$ goto read_title_loop
$
$! Found the next set so skip back to see if this is correct
$READ_TITLE_LOOP_END:
$ goto read_titles
$
$! Read input file & get songtitles into symbols - song1 -> song'n'
$READ_SONGS:
$ count =	count + 1
$ song'count'	=	first_song'side'
$READ_SONGS_LOOP:
$ count	=	count + 1
$ read/end_of_file=close_files	infile	test
$ song'count'	=	test
$! if we read in a % then that is end of songs for this side
$ if test .eqs. "%" then goto read_songs_loop_exit
$! loop around for next song title
$ goto read_songs_loop
$
$READ_SONGS_LOOP_EXIT:
$! Increment count of labels if this is side A
$ if side .eqs. "A" then label_count	=	label_count + 1
$
$!Change from side A to side B and vice versa
$ if side .eqs. "B" then goto move_origin
$ side	 	=	"B"
$ goto read_titles
$
$
$! If not first label then must reset the origin of label
$MOVE_ORIGIN:
$! display actual label
$ gosub display_label
$! display message on screen
$ say "''flash'Working...''off'   Writing label number ''label_count' to file"
$ if label_count .eq. 1 then goto song_title_box
$
$! postion label on page
$ position := "0.0 inch 3.7 inch"
$! if this is fourth label then we must set print position across page
$ if label_count .eq. 4 then position := "3.96 inch -7.31 inch"
$
$ outrec	=		" ''position' translate"
$ write		outfile		outrec
$
$! Draw a box for the song titles
$SONG_TITLE_BOX:
$ outrec	=	" 0.0 inch 0.0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 2.47 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" -3.94 inch 0.0 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch -2.47 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" 1 setlinewidth"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" 1 setgray"
$ write		outfile		outrec
$ outrec	=	" fill"
$ write		outfile		outrec
$ outrec	=	" 0 setgray"
$ write		outfile		outrec
$ outrec	=	" newpath"
$ write		outfile		outrec
$ outrec	=	" 1.97 inch 0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 1.97 inch 2.47 inch lineto"
$ write		outfile		outrec
$ outrec	=	" 1 setlinewidth"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" stroke"
$ write		outfile		outrec
$ outrec	=	" newpath"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 2.2 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 2.2 inch lineto"
$ write		outfile		outrec
$ outrec	=	" 1 setlinewidth"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" stroke"
$ write		outfile		outrec
$ outrec	=	" 0 setgray"
$ write		outfile		outrec
$ 
$! Draw a box above the songtitles for artist information/title etc.
$ outrec	=	" 0.0 inch 2.47 inch translate"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 0.0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0 0.5 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" -3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0 0.5 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" 1 setgray"
$ write		outfile		outrec
$ outrec	=	" fill"
$ write		outfile		outrec
$
$! Now draw the boxes on the spine
$SPINE_BOXES:
$ outrec	=	" 0.0 inch 0.0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0 0.5 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" -3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0 0.5 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" 0 setgray"
$ write		outfile		outrec
$ outrec	=	" stroke"
$ write		outfile		outrec
$
$! Print first artist & title on spine
$SPINE_ARTISTA:
$ spine_font	:=	11
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then spine_font := 15
$ if (f$len(artista)+f$len(titlea)) .ge. 45 then spine_font := 10
$ spine_pos	:=	3
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then goto spine_artistb
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then spine_pos := 17
$ outrec	= " /AvantGarde-Demi findfont ''spine_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 0.1 inch 0.''spine_pos' inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''artista') show"
$ write		outfile		outrec
$ outrec	=	" ( - ''titlea') show"
$ write		outfile		outrec
$
$
$! Print titles on spine
$SPINE_ARTISTB:
$ spine_font	:=	11
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then spine_font := 15
$ if (f$len(artistb)+f$len(titleb)) .ge. 45 then spine_font := 10
$ spine_pos	:=	"07"
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then goto set_number
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then spine_pos := 17
$ outrec	= " /AvantGarde-Demi findfont ''spine_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 0.1 inch 0.''spine_pos' inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''artistb') show"
$ write		outfile		outrec
$ outrec	=	" ( - ''titleb') show"
$ write		outfile		outrec
$
$! Print tape number in set only from side a- skip if it is a null
$SET_NUMBER:
$ if set_number .eqs. "" then goto flap_box
$ outrec	=	" /Times-Bold findfont 30 scalefont setfont"
$ write		outfile		outrec
$! print position slightly different for set I or set II
$ set_pos	=	"3.7"
$ if f$length(set_number) .eq. 2 then set_pos = "3.6"
$ if f$length(set_number) .eq. 3 then set_pos = "3.5"
$ outrec	=	" ''set_pos' inch 0.1 inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''set_number') show"
$ write		outfile		outrec
$
$! Now a box for small flap
$FLAP_BOX:
$ outrec	=	" 0.0 inch 0.5 inch translate"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 0.0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 0.62 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" -3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch -0.62 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" 0.9 setgray"
$ write		outfile		outrec
$ outrec	=	" fill"
$ write		outfile		outrec
$ outrec	=	" 0 setgray"
$ write		outfile		outrec
$
$! Print artist and title on small flap
$
$SMALL_ARTISTA:
$ small_font	:=	11
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then small_font := 15
$ if (f$len(artista)+f$len(titlea)) .ge. 45 then small_font := 10
$ small_pos	:=	4
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then goto small_artistb
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then small_pos := 25
$ outrec	= " /AvantGarde-Book findfont ''small_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 0.1 inch 0.''small_pos' inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''artista') show"
$ write		outfile		outrec
$ outrec	=	" ( - ''titlea') show"
$ write		outfile		outrec
$
$! Do it again for other artist and title
$
$SMALL_ARTISTB:
$ small_font	:=	11
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then small_font := 15
$ if (f$len(artistb)+f$len(titleb)) .ge. 45 then small_font := 10
$ small_pos	:=	1
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	f$edit(titleb,"collapse") .eqs. "" then goto small_box
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	f$edit(titlea,"collapse") .eqs. "" then small_pos := 25
$ outrec	= " /AvantGarde-Book findfont ''small_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 0.1 inch 0.''small_pos' inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''artistb') show"
$ write		outfile		outrec
$ outrec	=	" ( - ''titleb') show"
$ write		outfile		outrec
$
$! Now a box around the whole thing
$SMALL_BOX:
$ outrec	=	" 0.0 inch -3.00 inch translate"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 0.0 inch moveto"
$ write		outfile		outrec
$ outrec	=	" 3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch 3.63 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" -3.94 inch 0 rlineto"
$ write		outfile		outrec
$ outrec	=	" 0.0 inch -3.63 inch rlineto"
$ write		outfile		outrec
$ outrec	=	" 3.94 setlinewidth"
$ write		outfile		outrec
$ outrec	=	" 0 setgray"
$ write		outfile		outrec
$ outrec	=	" closepath"
$ write		outfile		outrec
$ outrec	=	" stroke"
$ write		outfile		outrec
$
$! Label side A and side B with heading
$WRITE_HEADINGA:
$ heading_font	:=	9
$ if f$len(headinga) .ge. 30 then heading_font := 8
$ outrec = " /AvantGarde-DemiOblique findfont ''heading_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 0.1 inch 2.3 inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''headinga') show"
$ write		outfile		outrec
$WRITE_HEADINGB:
$ heading_font	:=	9
$ if f$len(headinga) .ge. 30 then heading_font := 8
$ outrec = " /AvantGarde-DemiOblique findfont ''heading_font' scalefont setfont"
$ write		outfile		outrec
$ outrec	=	" 2.05 inch 2.3 inch moveto"
$ write		outfile		outrec
$ outrec	=	" (''headingb') show"
$ write		outfile		outrec
$
$! Set x & y coordinates for songtitles
$! Fiddled as DCL is integer only arithmetic
$ x		=		"0.1"
$ y		=		215
$
$! Now print out the songtitles
$! Loop around picking up titles previously read into symbols songtitle'side''n'
$ song_count	=	0
$READ_SONGTITLE:
$ partb		=	""
$ song_count	=	song_count + 1
$ if song_count .eq. count then goto end_of_label
$ songtitle	=	song'song_count'
$
$! Check if end of side A
$ if songtitle .eqs. "%" then goto side_b
$
$! Set font for songtitles
$! If the first character is not a bullet i.e. not a songtitle then switch
$! to an italic font. If the next character (1st or 2nd) is a ~ then use a
$! smaller font.
$ if f$extract(0,1,songtitle) .eqs. "�" then gosub song_italic_font
$ if f$extract(0,1,songtitle) .nes. "�" then gosub song_normal_font
$
$! call subroutine to split up songtitle if more than 30 characters
$ gosub split
$
$! decrement y coordinate
$ gosub y_dec
$
$! Actually print songtitle
$WRITE_SONGTITLE:
$ outrec	=		" ''x' inch ''z' inch moveto"
$ write		outfile		outrec
$ outrec	=		" (" + songtitle + ") show"
$ write		outfile		outrec
$
$! if songtitle > 30 characters then it will have been split so print 2nd part
$ if partb .eqs. "" then goto read_songtitle
$
$! decrement y coordinate
$ gosub y_dec
$
$ outrec	=		" ''x' inch ''z' inch moveto"
$ write		outfile		outrec
$ outrec	=		" (" + "  " + partb + ") show"
$ write		outfile		outrec
$
$! loop around for next songtitle
$ goto read_songtitle
$
$! Change x coordinate and loop back to print titles on side B
$SIDE_B:
$ x		=		"2.05"
$ y		=		215
$ goto read_songtitle
$
$END_OF_LABEL:
$
$! Print six labels on one page
$! First check whether we have already printed 6 labels
$ if label_count .eq. 6 then goto output_page
$
$! Go back to beginning for next label
$NEXT_LABEL:
$! reset to side A
$ side		=	"A"
$ goto read_titles
$
$! Tell printer to output the page
$OUTPUT_PAGE:
$ outrec	=		" showpage"
$ write		outfile		outrec
$
$! Write out the initial macro
$ outrec	=	" /inch {72 mul} def 20 20 translate"
$ write		outfile		outrec
$
$! Reset counter for number of labels on one sheet
$ label_count	=	0
$
$! reset to side A
$ side		=	"A"
$! Go around again to see if there are more labels to process
$ goto read_titles
$
$! Close files but make sure we output page to printer
$CLOSE_FILES:
$ if input_file .nes. "" then close infile
$ if output_file .eqs. "" then goto exit
$ outrec	=		" showpage"
$ write		outfile		outrec
$ close outfile
$ say ""
$ say "Labels written to output file ''bold'''output_file'''off'"
$
$EXIT:
$ exit
$
$! SUBROUTINES
$
$SYMBOLS:
$! Define some symbols for use in the procedure
$ say		:=	write sys$output
$ esc[0,7]	=	27
$ bell[0,7]	=	7
$! Some escape sequences for ANSI-fancy output; names are self explanatory
$ bold		:= "''esc'[1m"
$ inv		:= "''esc'[7m"
$ under		:= "''esc'[4m"
$ flash		:= "''esc'[5m"
$ double	:= "''esc'#6"
$ single	:= "''esc'#5"
$ off		:= "''esc'[m"
$
$ clear_screen	:= "''esc'[H''esc'[2J"
$ program_title := "''double'''inv'''space10'TAPE LABEL PROGRAM''space10'''off'"
$ line		:= "''esc'(0qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq''esc'(B"
$ line_t	:= "''esc'(0qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq''esc'(B"
$ line_b	:= "''esc'(0qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq''esc'(B"
$ spaces	:= "                                        "
$
$ output_file	= ""
$ input_file	= ""
$ notinteractive	=	"N"
$ song_font	= 7
$
$ return
$
$SPLIT:
$! Split songtitle up if longer than 30 characters for 7 point font
$ split_count	=	30
$ if song_font .eq. 6 then split_count =40
$ if f$length(songtitle) .le. split_count then goto write_bullet
$ parta		=	f$extract(0,split_count,songtitle)
$ partb		=	f$extract(split_count,255,songtitle)
$SPLIT_LOOP:
$ if f$extract(split_count,1,parta) .eqs. " " then goto split_loop_exit
$ partb		=	f$extract(split_count,1,parta) + partb
$ parta		=	f$extract(0,split_count,parta)
$ split_count	=	split_count - 1
$ goto split_loop
$
$SPLIT_LOOP_EXIT:
$ partb		=	f$extract(split_count,1,parta) + partb
$ parta		=	f$extract(0,split_count,parta)
$ songtitle	=	parta
$
$WRITE_BULLET:
$! Put a bullet before each songtitle NB This is a bullet� not a full stop.
$! If there is already a bullet there then we remove it
$! if f$extract(0,1,songtitle) .eqs. "�" then bullet = ""
$ bullet = ""
$ if (f$extract(0,1,songtitle) .nes. "�") .and. -
	(f$edit(songtitle,"collapse") .nes. "") then bullet = "� "
$ if f$extract(0,1,songtitle) .eqs. "�" then -
		songtitle = f$extract(1,255,songtitle)
$ songtitle = bullet + songtitle
$
$ return
$
$DISPLAY_LABEL:
$! Display an approximation of the label on the screen
$ line_cnt	=	1
$! clear the screen
$ say clear_screen
$
$ line_a	=	f$extract(0,40,"''artista' - ''titlea'''spaces'")
$ line_b	=	f$extract(0,40,"''artistb' - ''titleb'''spaces'")
$ if f$edit(artista,"collapse") .eqs. "" .and. -
	(f$edit(titlea,"collapse") .eqs. "") then -
		line_a = f$extract(0,40,"''spaces'")
$ say "''double'''inv'''line_a'''off'"
$ line_cnt	=	line_cnt + 1
$ if f$edit(artistb,"collapse") .eqs. "" .and. -
	(f$edit(titleb,"collapse") .eqs. "") then -
		line_b = f$extract(0,40,"''spaces'")
$ say "''double'''inv'''line_b'''off'"
$ line_cnt	=	line_cnt + 1
$ say "''single'''line'"
$ line_cnt	=	line_cnt + 1
$ say "''double'''bold'''line_a'''off'"
$ line_cnt	=	line_cnt + 1
$ say "''double'''bold'''line_b'''off'"
$ line_cnt	=	line_cnt + 1
$ say "''esc'[''line_cnt';38;H''set_number'"
$ line_cnt	=	line_cnt + 1
$ say "''single'''line'"
$ line_cnt	=	line_cnt + 1
$ say "''esc'[''line_cnt';H  ''headinga'''esc'[''line_cnt';42H''headingb'"
$ line_cnt	=	line_cnt + 1
$ say "''single'''line_t'"
$ line_cnt	=	line_cnt + 1
$ song_line	=	line_cnt
$ display_count	=	0
$ column	=	0
$ vert		=	"''esc'(0x''esc'(B"
$DISPLAY_SONG_LOOP:
$ display_count	=	display_count + 1
$ songtitle	=	song'display_count'
$ if songtitle .eqs. "%" then goto display_song_end_side
$ partb		=	""
$ gosub split
$ say "''esc'[''line_cnt';''column'H''songtitle'''esc'[''line_cnt';40H''vert'"
$ line_cnt	=	line_cnt + 1
$ if partb .eqs. "" then goto display_song_loop
$ say "''esc'[''line_cnt';''column'H  ''partb'''esc'[''line_cnt';40H''vert'"
$ line_cnt	=	line_cnt + 1
$ 
$ goto display_song_loop
$
$DISPLAY_SONG_END_SIDE:
$! have finished sidea so change column etc for sideb
$ if column .eq. 42 then goto display_song_loop_exit
$ column = 42
$ line_cnt	=	song_line
$ goto display_song_loop
$
$DISPLAY_SONG_LOOP_EXIT:
$ say "''esc'[23;80H"
$
$SET NOVER
$! reset terminal setting
$ set terminal/wrap
$return
$
$SONG_NORMAL_FONT:
$! Set the font for the song titles
$ song_font	=	7
$! set to a smaller font if specified in source file by a ~ as 3rd character
$ if f$locate("~",songtitle) .eqs. 0 then song_font = 6
$ outrec	=	" /Helvetica findfont ''song_font' scalefont setfont"
$ write		outfile		outrec
$ if f$locate("~",songtitle) .eqs. 0 then -
	songtitle = f$extract(1,255,songtitle)
$ return
$
$SONG_ITALIC_FONT:
$! Set the font for the song titles
$ song_font	=	7
$! set to a smaller font if specified in source file by a ~ as 1st character
$ if f$locate("~",songtitle) .eqs. 1 then song_font = 6
$ outrec	= " /Helvetica-Oblique findfont ''song_font' scalefont setfont"
$ write		outfile		outrec
$ if f$locate("~",songtitle) .eqs. 1 then -
	songtitle = f$extract(0,1,songtitle) + f$extract(2,255,songtitle)
$ return
$
$Y_DEC:
$! decrement y coordinate depending on what size font was used
$ y_dec		=	12
$ if song_font .eq. 6 then y_dec = 10
$ y		=		y - y_dec
$
$! Convert y to a decimal in string form
$
$ z		=	"0''y'"
$ z		=	f$extract(f$len(z)-3,1,z)+"."+f$extract(f$len(z)-2,2,z)
$
$! check if songtitle is off bottom of label
$ if y .le. 10 then gosub too_many_songs
$
$ return
$
$! Too many songs to fit on label
$TOO_MANY_SONGS:
$ say "''bell'"
$ say "''esc'[10;20H''inv' Too many songtitles to fit on label ''off'"
$ read sys$command/end_of_file=close_files/prompt=-
	"''esc'[23;25H''inv' Press <RETURN> to continue''off'" rep
$ say ""
$
$ return
2190.18TEST.LABEL input file for LABEL.COMMALLET::BARKERPretty Damn CosmicWed Jul 31 1991 09:06187
LOU REED
LIVE IN ITALY
LIVE IN ITALY 1

SWEET JANE
I'M WAITING FOR MY MAN
MARTIAL LAW
SATELLITE OF LOVE
KILL YOUR SONS
BETRAYED
SALLY CAN'T DANCE
WAVES OF FEAR
AVERAGE GUY
%
 

LIVE IN ITALY 2

WHITE LIGHT/WHITE HEAT
SOME KINDA LOVE/SISTER RAY
WALK ON THE WILD SIDE
HEROIN
ROCK AND ROLL
 
�Lou Reed - guitar/vocals
�Robert Quine - guitar
�Fernando Saunders - bass
�Fred Maher - drums
%
MICHELLE SHOCKED
SHORT SHARP SHOCKED
SHORT SHARP SHOCKED

WHEN I GROW UP
HELLO HOPEVILLE
MEMORIES OF EAST TEXAS
(MAKING THE RUN TO) GLADEWATER
GRAFFITI LIMBO
IF LOVE WAS A TRAIN
ANCHORAGE
THE L&N DOESN'T STOP HERE ANYMORE
VxFxDx
BLACK WIDOW
%
ENYA
WATERMARK
WATERMARK

WATERMARK
CURSUM PERFICO
ON YOUR SHORE
STORMS IN AFRICA
EXILE
MISS CLARE REMEMBERS
ORINOCO FLOW
EVENING FALLS
THE LONGSHIPS
NA LAETHA GEAL M'OIGE
%
Country Joe & the fish
Electric music for mind & body
Electric music for the mind & body

FLYING HIGH
NOT SO SWEET MARTHA LORRAINE
DEATH SOUND
PORPOISE MOUTH
SECTION 43
SUPERBIRD
SAD AND LONELY TIMES
LOVE
BASS STRINGS
THE MASKED MARAUDER
GRACE
%
SPIRIT
LIVE SPIRIT
LIVE SPIRIT

LOOKING DOWN
ANIMAL ZOO
1984
NATURE'S WAY
HOLLYWOOD DREAM
IT'S ALL THE SAME
I GOT A LINE ON YOU
DOWNER
WILD THING (incomplete)
%
BLONDIE
PARALLEL LINES
PARALLEL LINES

HANGING ON THE TELEPHONE
ONE WAY OR ANOTHER
PICTURE THIS
FADE AWAY AND RADIATE
PRETTY BABY
I KNOW BUT I DON'T KNOW
11:59
WILL ANYTHING HAPPEN?
SUNDAY GIRL
HEART OF GLASS
I'M GONNA LOVE YOU TOO
JUST GO AWAY
%
BYRDS
NOTORIOUS BYRD BROTHERS
NOTORIOUS BYRD BROTHERS
 
ARTIFICIAL ENERGY
GOIN' BACK
NATURAL HARMONY
DRAFT MORNING
WASN'T BORN TO FOLLOW
GET TO YOU
CHANGE IS NOW
OLD JOHN ROBERTSON
TRIBAL GATHERING
DOLPHINS SMILE
SPACE ODYSSEY
�      Byrds singles
LADY FRIEND
DONT MAKE WAVES
YOU AIN'T GOING NOWHERE
MR TAMBOURINE MAN
I KNEW I'D WANT YOU
%
RICHARD THOMPSON
23-NOV-88
Bristol Bierkeller 23-NOV-88
I
BONE THROUGH HER NOSE
GYPSY LOVE SONGS
THE ANGELS TOOK MY RACEHORSE
I STILL DREAM
AL BOWLY'S IN HEAVEN
WALTZING'S FOR DREAMERS
HERE WITHOUT YOU
TURNING OF THE TIDE

�RICHARD THOMPSON BAND
�Richard Thompson
�Clive Gregson
�Christine Collister
�John Kirkpatrick
�Pat Donaldson
�Dave Mattacks
%


Bristol Bierkeller 23-NOV-88
I
DON'T TEMPT ME
INSTRUMENTAL
�~  - featuring JOHN KIRKPATRICK
WE'RE NOT OVER YET
�~  - featuring CHRISTINE COLLISTER
WALL OF DEATH
TWO LEFT FEET
JENNIE
SHE TWISTS THE KNIFE AGAIN
%
RICHARD THOMPSON
23-NOV-88
Bristol Bierkeller 23-NOV-88
II
CAN'T WIN
VALERIE
JERUSALEM ON THE JUKEBOX
WE'VE GOT TO GET OUT OF THIS PLACE
CRASH THE PARTY

�RICHARD THOMPSON BAND
�Richard Thompson
�Clive Gregson
�Christine Collister
�John Kirkpatrick
�Pat Donaldson
�Dave Mattacks
%





%
2190.19HAVASU::HEISERmy head&#039;s in MississippiThu Aug 01 1991 14:345
    The PostScript version with the .COM file is nice and easy to use.  It
    would be nice if you could put Noise Reduction info on the top flap
    though (ala the VAX Document version).
    
    Mike
2190.20VAX Document?GLDOA::REITERFri Aug 02 1991 14:342
    Can you give me a pointer to a VAX Document cassette label maker?
    \Gary
2190.21VAX Document CASSETTE.HLP fileHAVASU::HEISERmy head&#039;s in MississippiFri Aug 02 1991 17:40212
     SMALL USER'S GUIDE TO THE "CASSETTE" DOCTYPE

 the CASSETTE doctype produces Compact Cassette inlays using VAX
 DOCUMENT. It needs a pair of scissors to cut the actual formats
 before they fit in a C60, C90 or C120 tape box. Improvements may
 be under way to squeeze more inlays on a single sheet.

 You can use all tags defined in MANUAL (i.e. all global tags) for
 a cassette layout. However, many of them have been redefined to
 be non-operational (e.g. <CHAPTER> ). You should limit yourself
 to useful tags: <SUBHEADn>  <LIST> <LE> <ENDLIST> <EMPHASIS> to
 write the contents of your tape on such a tape label.

 The contents of the tape can be described for each side, producing
 a two column listing (one for each side). If the tape is just one
 large recording (e.g. a live concert) you can have the text run over
 the entire width of the label using <BOTH_SIDES> instead of
 <SIDE_A> and <SIDE_B>
 
 The following tags are defined:

  <CASSETTE>(label A \ label B)    Starts a new cassette inlay.
                You can define either one or both arguments, that
		should summarize the type of recording made on each
		side. The text will appear as two lines on the spine
		of the inlay.
		If only the first argument is given, the text is
		centered

  <SIDE_A>(text) Specifies the text that describes the contents of
                tape side A. You may use <SUBHEAD1> to enter the title
		of the recording, while some form of <LIST> can itemize
		the individual parts. Cannot be used together with
		<BOTH_SIDES>
		 
  <SIDE_B>(text) As <SIDE_A>. At printout it will appear parallel to the
                text specified for Side A. Cannot be used with <BOTH_SIDES>

  <BOTH_SIDES>(text) Similar to <SIDE_A> and <SIDE_B>, but allows to use
                the full width of the cassette box label to describe the
		recording. Meant for use where a tape recording spans both
		sides. Cannot be used together with <SIDE_A> and/or
		<SIDE_B> within the same <CASSETTE> definition.

  <ENDCASSETTE> Indicates the end of the current cassette definition and
                actually triggers DOCUMENT to format the inlay. Must be
		present.

		
 EXAMPLE FILE:
---------------
 <CASSETTE>(Thunderbirds are Go \ Space 1999 )
 <SIDE_A>(<LIST>(SIMPLE)
          <LE>Thunderbirds are Go Theme
	  <LE>Zero-X Theme
	  <LE>Astronauts in Trouble
	  <LE>Tracy Island
	  <ENDLIST>
	 )    
 <SIDE_B>(<LIST>(SIMPLE)
          <LE>Main Theme
	  <LE>War Games
	  <LE>Mission of the Darians
	  <LE>Death's Other Dominion
	  <ENDLIST>
         )
 <ENDCASSETTE>

 <CASSETTE>(The Hitch Hiker's Guide to the Galaxy)
 <BOTH_SIDES>(<SUBHEAD1>(Part One)
              <p>
	      In which Arthur looses his house, the world comes to
	      an end and Ford Prefect turns out to be from a different
	      galaxy.
	      <p>
	      <emphasis>(Read by Steven Jones, written by Douglas Adams)
	     )
 <ENDCASSETTE>	     

               <<< LARVAE::DISK$USER2:[JEFFERY]UK_AUDIO.NOTE;1 >>>
                            -< Audio discussions. >-
================================================================================
Note 50.0                  Cassette Label Manufacture                    1 reply
ODIUM::PERCIVAL "Highfield Park, UK"                157 lines  30-SEP-1988 10:08
--------------------------------------------------------------------------------

	Hello everyone,
    
        If you do a lot of taping, then maybe you'll be interested
    in this.  I have a number of cassettes which I have re-recorded
    over.  This means that the original label is now useless.  Below
    is an extract from the document notes file which shows how you can
    generate your own!  The labels when printed out on a laser printer
    are brilliant!  The note assumes that you are familiar with document
    - if you are not then I've expanded it below with a worked example
    for you.....
    
    Ian

               <<< VAXUUM::W7_:[NOTES$LIBRARY]DOCUMENT.NOTE;1 >>>
================================================================================
Note 1322.0             Design for C90 Compact Cassettes               8 replies
IJSAPL::KLERK "Theo de Klerk"                        76 lines  30-AUG-1988 13:02
--------------------------------------------------------------------------------

     You may find here a set of tags and a design file to produce
     Compact Cassette tape box labels. It's a rough design, so any
     enhancements and better error-catching is welcome.

     Theo

     
     The following tags are defined:

     <CASSETTE>(titleA \ titleB)
                        -  indicate start of cassette label
			   and specifying both titles for
			   recordings on side A and B. Each title may be
			   blank ( \ )

     <SIDE_A>( text )   -  describes contents of side A. Allowed are
                           <subhead1> , <list> or paragraph type text
                           The argument may be blank ()
			   
     <SIDE_B>( text )   -  Idem, for side B.

     <ENDCASSETTE>      -  must be used to indicate end of this cassette
                           label (in fact this tag triggers the writing
			   of all information of the previous tags into the
			   DVI file)


      It is formatted as

          +----------------------------------------+
	  | Noise Reduction: o    o    o           | 16mm short flap
	  |                                        |
	  +----------------------------------------+
	  |  Title A                               | 14mm spine
	  |  Title B                               |
	  +----------------------------------------+
	  | A Title A            B Title B         |
	  |                                        |
	  | text                 text              | 65mm front cover
	  | text                 text              |
	  | text                 text              |
          //                                      //
	  |                                        |
	  +----------------------------------------+
          <    50mm        >|<         50mm       >


   This is what you do:

     1.  Copy the tag and design file from
         IJSAPL::PSQ:[PUBLIC.SOURCES.CASSETTE]CASSETTE.DESIGN
	              ,,                      CASSETTE.GDX
		      
     2.  Add in your local or personal DOC$DESIGNS.DAT the following line:

name CASSETTE/definitions=CASSETTE.GDX/macros=CASSETTE/fonts=TEX$STANDARD_FONTS
          
     3.  Process your SDML file with DOCUMENT file CASSETTE LN03 (or POST)

     
  WARNING:
  --------
     This is a hack design with minimum effort to avoid errors. Here are a
     few DON'Ts and DOs:
     1. The design is based on MANUAL. So most tags available from MANUAL will
        also work here, but make no sense. Don't use things like <CHAPTER>,
	<TITLE_PAGE> etc as things will screw up. Limit yourself to the use
	of simple text elements such as
	<P>, <LINE>, <LIST>, <SUBHEAD1>, <HEAD1> to describe the contents of
	the tape. A <LIST>(SIMPLE) or (NUMBERED) produces the best results
	when used as argument to <SIDE_A> or <SIDE_B>
	
     2. All label definitions should start with <CASSETTE> and end with
        <ENDCASSETTE>. The tag definitions don't keep track on proper
	closing, but the results will be disasterous if you don't.
	

    _______________________________________________________________________________
    
    Things you need to do if you are not an avid Document user!! (Document
    must obviously be installed on your machine for this to work!!!!)
    
    1.  Add the following line in your login.com - specifying a unique
    directory for your document type files.

    $ def DOC$PERSONAL_FORMATS disk$instruct:[percival.document.doctype]
    
    2.  You need a file called DOC$DESIGNS.DAT with the line as in 2
    above added.
    
    3.  Copy the Cassette files mentioned above to that same directory.
    
    4.  Create your text file - below is an example from one of my cassette
    labels...      It should be a .SDML file so call it ENID.SDML for
    example.
    

    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    5.   Type in at the dollar prompt the following:-
    $ DOC ENID.SDML CASSETTE POST/PRINT=QUEUE=POST_X
    
    where POST_X is the name of the postscript printer queue.  If you
    only have an LN03 then type in:-
    $ DOC ENID.SDML CASSETTE LN03/print=queue=name_of_q
    
    Phew!
2190.22 Looking for another label CGVAX2::PAGENow THAT&#039;S Comedy!Tue Dec 31 1991 12:1225

	After spending a few frustrating months banging away with a
4-track cassette recorder, I've finally completed an "album" of original
demos. I'd like to hand some cassettes out to my friends, but I'd like
to have a real nice label for it... song titles, "thank you's", even
some nice graphics, maybe...


	If anyone has some programs, postscript files, or any method
or ideas for putting together a nice cassette label, please send
them to me... or post them here (if it's ok with the powers that
be) so others can benefit.

	Also, anyone who knows how to create great looking flyers
and any other promotional stuff, please add that to the list!


	Thanks again!




						Brad Page

2190.23RAVEN1::JERRYWHITEHey you&#039;re pretty good - NOT !Tue Dec 31 1991 15:534
    Check out .17 and .18 in this note.  I've done *all* my tapes (over
    1000) using this.  It's real nice because it prints 6 labels to a page.
    
    Scary
2190.24 That's good, but I want more.... CGVAX2::PAGENow THAT&#039;S Comedy!Thu Jan 02 1992 10:3916
    
    	Actually, I have been using the .com file in .17 for alot of my
    tapes at home... it does look good... but I was looking for something
    with a little more... flair, I guess. Maybe some graphics, a more
    stylized font or two... I'd also like the label to be longer, so
    that you could fold over the top flap, you know, like the average
    store-bought cassette, so I could have an area to write "thank you's",
    credits and the like. 
    
    	Any ideas would be great! THANKS!
    
    
    				
    Brad Page
    
    
2190.25KDX200::COOPERStep UP to the RACK !Thu Jan 02 1992 23:126
    I'd recommend using something like RAGS of DECwrite.  There are a
    ZILLION images out there you can link/import.  For instance, I did
    a sysmgr-type cluster map using VCS icons left in sys$examples.  PRetty
    slick...
    
    jc
2190.26VAX Document Cassette primerFRETZ::HEISERnewest Sun DevilFri Jan 03 1992 13:15233
    Some people have asked me about using the VAX Document cassette doctype
    for producing cassette labels.  This is not for the faint of heart, but
    for those that like to program text ;-)
    
This is how I use it.  The first 2 lines of my LOGIN.COM are below.  Do it this
way so you can process the stuff in batch.

$ DEFINE/NOLOG DOC$PERSONAL_FORMATS user1:[heiser.cup]
$ IF F$MODE () .NES. "INTERACTIVE" THEN EXIT
$ DOCBATCH      :== document/symbols=doc$personal_formats:symbols.sdml -
                         /print=(queue=ps_WAZOO)/batch=(noprint,notify)

Then in my [.CUP] subdirectory, you have to have your personal definitions.
DOCUMENT always looks through DOC$PERSONAL_FORMATS first when processing (reads
DOC$DESIGNS.DAT).  Here is my definition in DOC$DESIGNS.DAT:

name CASSETTE/definitions=TEX$CASSETTE.GDX/macros=TEX$CASSETTE/fonts=TEX$STANDARD_FONTS

    Now here is the CASSETTE.HLP file that should get you going:
    
     SMALL USER'S GUIDE TO THE "CASSETTE" DOCTYPE

 the CASSETTE doctype produces Compact Cassette inlays using VAX
 DOCUMENT. It needs a pair of scissors to cut the actual formats
 before they fit in a C60, C90 or C120 tape box. Improvements may
 be under way to squeeze more inlays on a single sheet.

 You can use all tags defined in MANUAL (i.e. all global tags) for
 a cassette layout. However, many of them have been redefined to
 be non-operational (e.g. <CHAPTER> ). You should limit yourself
 to useful tags: <SUBHEADn>  <LIST> <LE> <ENDLIST> <EMPHASIS> to
 write the contents of your tape on such a tape label.

 The contents of the tape can be described for each side, producing
 a two column listing (one for each side). If the tape is just one
 large recording (e.g. a live concert) you can have the text run over
 the entire width of the label using <BOTH_SIDES> instead of
 <SIDE_A> and <SIDE_B>
 
 The following tags are defined:

  <CASSETTE>(label A \ label B)    Starts a new cassette inlay.
                You can define either one or both arguments, that
		should summarize the type of recording made on each
		side. The text will appear as two lines on the spine
		of the inlay.
		If only the first argument is given, the text is
		centered

  <SIDE_A>(text) Specifies the text that describes the contents of
                tape side A. You may use <SUBHEAD1> to enter the title
		of the recording, while some form of <LIST> can itemize
		the individual parts. Cannot be used together with
		<BOTH_SIDES>
		 
  <SIDE_B>(text) As <SIDE_A>. At printout it will appear parallel to the
                text specified for Side A. Cannot be used with <BOTH_SIDES>

  <BOTH_SIDES>(text) Similar to <SIDE_A> and <SIDE_B>, but allows to use
                the full width of the cassette box label to describe the
		recording. Meant for use where a tape recording spans both
		sides. Cannot be used together with <SIDE_A> and/or
		<SIDE_B> within the same <CASSETTE> definition.

  <ENDCASSETTE> Indicates the end of the current cassette definition and
                actually triggers DOCUMENT to format the inlay. Must be
		present.

		
 EXAMPLE FILE:
---------------
 <CASSETTE>(Thunderbirds are Go \ Space 1999 )
 <SIDE_A>(<LIST>(SIMPLE)
          <LE>Thunderbirds are Go Theme
	  <LE>Zero-X Theme
	  <LE>Astronauts in Trouble
	  <LE>Tracy Island
	  <ENDLIST>
	 )    
 <SIDE_B>(<LIST>(SIMPLE)
          <LE>Main Theme
	  <LE>War Games
	  <LE>Mission of the Darians
	  <LE>Death's Other Dominion
	  <ENDLIST>
         )
 <ENDCASSETTE>

 <CASSETTE>(The Hitch Hiker's Guide to the Galaxy)
 <BOTH_SIDES>(<SUBHEAD1>(Part One)
              <p>
	      In which Arthur looses his house, the world comes to
	      an end and Ford Prefect turns out to be from a different
	      galaxy.
	      <p>
	      <emphasis>(Read by Steven Jones, written by Douglas Adams)
	     )
 <ENDCASSETTE>	     

               <<< LARVAE::DISK$USER2:[JEFFERY]UK_AUDIO.NOTE;1 >>>
                            -< Audio discussions. >-
================================================================================
Note 50.0                  Cassette Label Manufacture                    1 reply
ODIUM::PERCIVAL "Highfield Park, UK"                157 lines  30-SEP-1988 10:08
--------------------------------------------------------------------------------

	Hello everyone,
    
        If you do a lot of taping, then maybe you'll be interested
    in this.  I have a number of cassettes which I have re-recorded
    over.  This means that the original label is now useless.  Below
    is an extract from the document notes file which shows how you can
    generate your own!  The labels when printed out on a laser printer
    are brilliant!  The note assumes that you are familiar with document
    - if you are not then I've expanded it below with a worked example
    for you.....
    
    Ian

               <<< VAXUUM::W7_:[NOTES$LIBRARY]DOCUMENT.NOTE;1 >>>
================================================================================
Note 1322.0             Design for C90 Compact Cassettes               8 replies
IJSAPL::KLERK "Theo de Klerk"                        76 lines  30-AUG-1988 13:02
--------------------------------------------------------------------------------

     You may find here a set of tags and a design file to produce
     Compact Cassette tape box labels. It's a rough design, so any
     enhancements and better error-catching is welcome.

     Theo

     
     The following tags are defined:

     <CASSETTE>(titleA \ titleB)
                        -  indicate start of cassette label
			   and specifying both titles for
			   recordings on side A and B. Each title may be
			   blank ( \ )

     <SIDE_A>( text )   -  describes contents of side A. Allowed are
                           <subhead1> , <list> or paragraph type text
                           The argument may be blank ()
			   
     <SIDE_B>( text )   -  Idem, for side B.

     <ENDCASSETTE>      -  must be used to indicate end of this cassette
                           label (in fact this tag triggers the writing
			   of all information of the previous tags into the
			   DVI file)


      It is formatted as

          +----------------------------------------+
	  | Noise Reduction: o    o    o           | 16mm short flap
	  |                                        |
	  +----------------------------------------+
	  |  Title A                               | 14mm spine
	  |  Title B                               |
	  +----------------------------------------+
	  | A Title A            B Title B         |
	  |                                        |
	  | text                 text              | 65mm front cover
	  | text                 text              |
	  | text                 text              |
          //                                      //
	  |                                        |
	  +----------------------------------------+
          <    50mm        >|<         50mm       >


   This is what you do:

     1.  Copy the tag and design file from
         IJSAPL::PSQ:[PUBLIC.SOURCES.CASSETTE]CASSETTE.DESIGN
	              ,,                      CASSETTE.GDX
		      
     2.  Add in your local or personal DOC$DESIGNS.DAT the following line:

name CASSETTE/definitions=CASSETTE.GDX/macros=CASSETTE/fonts=TEX$STANDARD_FONTS
          
     3.  Process your SDML file with DOCUMENT file CASSETTE LN03 (or POST)

     
  WARNING:
  --------
     This is a hack design with minimum effort to avoid errors. Here are a
     few DON'Ts and DOs:
     1. The design is based on MANUAL. So most tags available from MANUAL will
        also work here, but make no sense. Don't use things like <CHAPTER>,
	<TITLE_PAGE> etc as things will screw up. Limit yourself to the use
	of simple text elements such as
	<P>, <LINE>, <LIST>, <SUBHEAD1>, <HEAD1> to describe the contents of
	the tape. A <LIST>(SIMPLE) or (NUMBERED) produces the best results
	when used as argument to <SIDE_A> or <SIDE_B>
	
     2. All label definitions should start with <CASSETTE> and end with
        <ENDCASSETTE>. The tag definitions don't keep track on proper
	closing, but the results will be disasterous if you don't.
	

    _______________________________________________________________________________
    
    Things you need to do if you are not an avid Document user!! (Document
    must obviously be installed on your machine for this to work!!!!)
    
    1.  Add the following line in your login.com - specifying a unique
    directory for your document type files.

    $ def DOC$PERSONAL_FORMATS disk$instruct:[percival.document.doctype]
    
    2.  You need a file called DOC$DESIGNS.DAT with the line as in 2
    above added.
    
    3.  Copy the Cassette files mentioned above to that same directory.
    
    4.  Create your text file - below is an example from one of my cassette
    labels...      It should be a .SDML file so call it ENID.SDML for
    example.
    

    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    5.   Type in at the dollar prompt the following:-
    $ DOC ENID.SDML CASSETTE POST/PRINT=QUEUE=POST_X
    
    where POST_X is the name of the postscript printer queue.  If you
    only have an LN03 then type in:-
    $ DOC ENID.SDML CASSETTE LN03/print=queue=name_of_q
    
    Phew!
    
2190.27CD/Cassette Labels for DOS/Windows?GJO001::REITERBecause ideas have consequencesWed May 19 1993 15:1917
	I am looking for templates that exist in the Windows versions of:
	- Lotus AmiPro,
	- WordPerfect 5.1, or
 	- Microsoft Word
	     to make labels/inserts for audio CD and cassette boxes.

	I would also be interested in any other DOS or Windows software
	available for this purpose.

	Preferably these would NOT be PostScript output generators, since
	my dot-matrix printer at home is not Ps-capable, and Ps-capable
	lasers currently cost more than I want to spend.

	THANKS,
	\Gary
	[This note cross-posted in CD, AUDIO, MUSIC, IBMPC-93, and 
	 whatever other conferences that make sense...]