to CASSETTE ; ¤ T.DIJKSTRA 1989
SCR
label "x
INIT I2 I2 OUT KDR if rc = "\* [] setsplit 1 ct
(type [AGAIN? (y / n)] char 32)
if rc = "n [erall stop]
go "x
end
to INIT
make "nr 1 make "LINE [] make "S 2 make "N 1 make "A 1 ht
end
to I2
ts ct (pr [PLEASE TYPE TEXT (max.] :NL [lines, 28 characters each) for SIDE] :A)
make "N 1 pr []
repeat :NL [(type :N char 32) I make "LINE se :LINE :line make "N :N + 1]
make "A 2
cs ct
end
to OUT
make "N 1
repeat 2 * :NL [make "line item :nr :LINE SC make "nr :nr + 1 make "N :N + 1]
setcursor [3 24] type :TTL
end
to I
make "line rq make "X count :line if :X - 28 > 0 [type char 7 I]
end
to SC
make "SC se :S :N + 1 setcursor :SC
(pr :N char 32 :line)
if :nr = :NL [make "S 36 make "N 0]
end
to KDR
fs pu setpos [-360 263] pd rt 90
repeat 2 [fd 564 rt 90 fd 390 rt 90]
lt 90 bk 528 rt 90 fd 564 lt 90 fd 136 bk 66 lt 90 fd 564
end
to SCR
ts ct
setcursor [30 0] rv type [* * C A S S E T T E * * ¤ TD '89 * *] rvo
l
pr [This program enables you to print labels for audio - cassettes.]
pr [You can print up to 20 lines (of 28 characters each) on both side A and B.]
l
pr [Printing: EXTRA + PTR - key]
label "x
l
(type [Number of lines?] char 32) make "NL rq
if not numberp :NL [go "x]
if 20 - :NL < 0 [go "x]
label "y
l
pr [Please type the TITLE for this CASSETTE (up to 55 characters)]
make "TTL rq
make "N count :TTL
if 55 - :N < 0 [go "y]
end
to rv
type word char 27 "p
end
to rvo
pr word char 27 "q
end
to l
pr []
end
:LINE SC make