Corrected a long-standing error in which ending text with a literal
[xcircuit.git] / lib / musiclib.lps
bloba8a9e75526c14538b48b2ed0cde83ede12dda82d
1 %! PostScript set of library objects for XCircuit
2 %  Version: 3.6
3 %  Library name is: musiclib
4 %  Author: R. Timothy Edwards <tim@khachaturian.tim.linglan.net>
7 % Depend musiclib::qn musiclib::hd
8 % Depend musiclib::qnd musiclib::qn
9 % Depend musiclib::qstem1 musiclib::qn musiclib::lnt
10 % Depend musiclib::qstem2 musiclib::qn musiclib::lnt
11 % Depend musiclib::qstem3 musiclib::qn musiclib::lnt
12 % Depend musiclib::qstem4 musiclib::qn musiclib::lnt
13 % Depend musiclib::hn musiclib::hhd
14 % Depend musiclib::hnd musiclib::hn
15 % Depend musiclib::hnd2 musiclib::lnt musiclib::hn
16 % Depend musiclib::hnd3 musiclib::lnt musiclib::hn
17 % Depend musiclib::hnt musiclib::lnt musiclib::hn
18 % Depend musiclib::hnt2 musiclib::hn musiclib::lnt
19 % Depend musiclib::wnt musiclib::lnt musiclib::wn
20 % Depend musiclib::en musiclib::qn musiclib::flg
21 % Depend musiclib::en2 musiclib::qn musiclib::flg
22 % Depend musiclib::ent musiclib::en2 musiclib::lnt
23 % Depend musiclib::ent2 musiclib::en musiclib::lnt
24 % Depend musiclib::ent3 musiclib::en musiclib::lnt
25 % Depend musiclib::ent4 musiclib::en2 musiclib::lnt
26 % Depend musiclib::sn musiclib::qn musiclib::flg
27 % Depend musiclib::sn2 musiclib::qn
28 % Depend musiclib::sr musiclib::er
29 % Depend musiclib::keyBf musiclib::flt
30 % Depend musiclib::keyEf musiclib::flt
31 % Depend musiclib::keyDf musiclib::flt
32 % Depend musiclib::cuttime musiclib::common
33 % Depend musiclib::pedalstop musiclib::ppin
34 % Depend musiclib::rept musiclib::ddot
35 % Depend musiclib::gliss musiclib::blip
36 % Depend musiclib::staff musiclib::lines musiclib::br1 musiclib::bar musiclib::tclef musiclib::bclef
37 % Depend musiclib::doublet musiclib::qn
38 % Depend musiclib::triplet musiclib::qn musiclib::hd
40 % XCircuitLib library objects
41 /musiclib::lnt {
42 begingate
43 1 1.750 -4 0 60 0 2 polygon
44 endgate
45 } def
47 /musiclib::hd {
48 begingate
49 6 9 beginpath
50 -2 25 -38 9 -30 -9 curveto
51 -22 -25 14 -9 6 9 curveto
52 241 1.000 endpath
53 endgate
54 } def
56 /musiclib::qn {
57 begingate
58 1.000 0 -7 16 musiclib::hd
59 1 1.000 0 18 0 128 2 polygon
60 endgate
61 } def
63 /musiclib::qnd {
64 begingate
65 1.000 180 -40 32 musiclib::qn
66 endgate
67 } def
69 /musiclib::qstem1 {
70 begingate
71 1.000 180 -40 32 musiclib::qn
72 1.000 0 -48 16 musiclib::lnt
73 endgate
74 } def
76 /musiclib::qstem2 {
77 begingate
78 1.000 180 -40 32 musiclib::qn
79 1.000 0 -52 0 musiclib::lnt
80 endgate
81 } def
83 /musiclib::qstem3 {
84 begingate
85 1.000 0 0 0 musiclib::qn
86 1.000 0 -48 16 musiclib::lnt
87 endgate
88 } def
90 /musiclib::qstem4 {
91 begingate
92 1.000 0 0 0 musiclib::qn
93 1.000 0 -45 32 musiclib::lnt
94 endgate
95 } def
97 /musiclib::hhd {
98 begingate
99 6 28 beginpath
100 16 12 -20 -12 -30 4 curveto
101 -24 -6 12 20 6 28 curveto
102 -4 44 -40 20 -30 4 curveto
103 -36 12 0 
104 38 6 28 curveto
105 241 1.000 endpath
106 endgate
107 } def
109 /musiclib::hn {
110 begingate
111 1 1.000 0 23 0 128 2 polygon
112 1.000 0 -8 0 musiclib::hhd
113 endgate
114 } def
116 /musiclib::hnd {
117 begingate
118 1.000 180 -40 32 musiclib::hn
119 endgate
120 } def
122 /musiclib::hnd2 {
123 begingate
124 1.000 0 -48 0 musiclib::lnt
125 1.000 180 -40 32 musiclib::hn
126 endgate
127 } def
129 /musiclib::hnd3 {
130 begingate
131 1.000 0 -48 16 musiclib::lnt
132 1.000 180 -40 32 musiclib::hn
133 endgate
134 } def
136 /musiclib::hnt {
137 begingate
138 1.000 0 -48 16 musiclib::lnt
139 1.000 0 0 0 musiclib::hn
140 endgate
141 } def
143 /musiclib::hnt2 {
144 begingate
145 1.000 0 0 0 musiclib::hn
146 1.000 0 -44 32 musiclib::lnt
147 endgate
148 } def
150 /musiclib::wn {
151 begingate
152 -28 32 beginpath
153 -48 32 -28 0 -12 0 curveto
154 -52 0 -52 32 -28 32 curveto
155 12 32 12 0 -12 0 curveto
156 8 0 -12 
157 32 -28 32 curveto
158 241 1.000 endpath
159 endgate
160 } def
162 /musiclib::wnt {
163 begingate
164 1.000 0 -49 16 musiclib::lnt
165 1.000 0 0 0 musiclib::wn
166 endgate
167 } def
169 /musiclib::flg {
170 begingate
171 0 76 beginpath
172 0 32 68 8 28 -52 curveto
173 64 0 0 32 0 32 curveto
174 240 1.000 endpath
175 endgate
176 } def
178 /musiclib::en {
179 begingate
180 1.000 0 0 0 musiclib::qn
181 1.000 0 0 78 musiclib::flg
182 endgate
183 } def
185 /musiclib::en2 {
186 begingate
187 1.000 180 -40 32 musiclib::qn
188 -1.000 180 -40 -54 musiclib::flg
189 endgate
190 } def
192 /musiclib::ent {
193 begingate
194 1.000 0 0 0 musiclib::en2
195 1.000 0 -48 16 musiclib::lnt
196 endgate
197 } def
199 /musiclib::ent2 {
200 begingate
201 1.000 0 0 0 musiclib::en
202 1.000 0 -44 16 musiclib::lnt
203 endgate
204 } def
206 /musiclib::ent3 {
207 begingate
208 1.000 0 0 0 musiclib::en
209 1.000 0 -44 32 musiclib::lnt
210 endgate
211 } def
213 /musiclib::ent4 {
214 begingate
215 1.000 0 0 0 musiclib::en2
216 1.000 0 -52 0 musiclib::lnt
217 endgate
218 } def
220 /musiclib::sn {
221 begingate
222 1.000 0 0 0 musiclib::qn
223 0 188 beginpath
224 0 144 56 120 36 72 curveto
225 52 104 0 144 0 144 curveto
226 240 1.000 endpath
227 1.000 0 0 72 musiclib::flg
228 endgate
229 } def
231 /musiclib::sn2 {
232 begingate
233 1.000 180 -40 32 musiclib::qn
234 -40 -136 beginpath
235 -40 -92 16 -68 -4 -20 curveto
236 12 -52 -40 -92 -40 -92 curveto
237 240 1.000 endpath
238 -40 -96 beginpath
239 -40 -52 12 -36 -4 4 curveto
240 8 -24 -40 -52 -40 -52 curveto
241 240 1.000 endpath
242 endgate
243 } def
245 /musiclib::flt {
246 begingate
247 1 1.000 -8 71 -8 -1 2 polygon
248 -8 -2 beginpath
249 32 22 12 46 -8 30 curveto
250 2 40 20 22 -8 -2 curveto
251 241 1.000 endpath
252 endgate
253 } def
255 /musiclib::shp {
256 begingate
257 240 1.000 -16 24 16 32 16 40 -16 32 4 polygon
258 240 1.000 -16 -8 16 0 16 8 -16 0 4 polygon
259 1 1.000 -8 56 -8 -28 2 polygon
260 1 1.000 8 -24 8 60 2 polygon
261 endgate
262 } def
264 /musiclib::nat {
265 begingate
266 240 1.000 -14 -8 8 0 8 8 -14 0 4 polygon
267 240 1.000 -14 24 8 32 8 40 -14 32 4 polygon
268 1 1.000 -14 62 -14 -8 2 polygon
269 1 1.000 8 -32 8 40 2 polygon
270 endgate
271 } def
273 /musiclib::hr {
274 begingate
275 240 1.000 -24 0 -24 16 20 16 20 0 4 polygon
276 endgate
277 } def
279 /musiclib::qr {
280 begingate
281 1 1.000 3 41 -1 49 2 polygon
282 1 1.000 14 -34 -14 6 2 polygon
283 8 -26 beginpath
284 -2 -12 -30 -22 -6 -50 curveto
285 -20 -36 -4 -24 14 -34 curveto
286 241 1.000 endpath
287 -14 6 beginpath
288 -10 30 6 34 -2 50 curveto
289 10 26 1 polyc
290 -2 14 -6 -6 0 -14 curveto
291 241 1.000 endpath
292 endgate
293 } def
295 /musiclib::er {
296 begingate
297 1 1.300 -3 39 -20 -8 2 polygon
298 241 1.000 -24 36 6 0.000 360.000 xcarc
299 1 1.000 -18 44 16 237.000 337.000 xcarc
300 endgate
301 } def
303 /musiclib::sr {
304 begingate
305 241 1.000 -34 12 6 0.000 360.000 xcarc
306 1 1.000 -28 20 16 237.000 337.000 xcarc
307 1.000 0 -3 -6 musiclib::er
308 endgate
309 } def
311 /musiclib::fermata {
312 begingate
313 241 1.000 0 -12 4 0.000 360.000 xcarc
314 -32 -12 beginpath
315 -24 28 24 28 32 -12 curveto
316 28 16 -28 16 -32 -12 curveto
317 241 1.000 endpath
318 endgate
319 } def
321 /musiclib::br1 {
322 begingate
323 0 96 beginpath
324 -76 52 60 -100 -32 -160 curveto
325 44 -116 -92 36 0 96 curveto
326 241 1.000 endpath
327 endgate
328 } def
330 /musiclib::tclef {
331 begingate
332 1 1.000 -2 -26 16 180.000 360.000 xcarc
333 241 1.000 -8 -26 10 0.000 360.000 xcarc
334 1 1.000 14 -26 -4 112 2 polygon
335 -4 12 beginpath
336 -20 20 -16 50 12 50 curveto
337 42 50 36 0 4 0 curveto
338 48 0 52 64 12 64 curveto
339 -20 64 -28 
340 20 -4 12 curveto
341 241 1.000 endpath
342 4 0 beginpath
343 -24 0 -32 16 -32 32 curveto
344 -32 80 30 84 30 140 curveto
345 30 170 -10 140 -4 112 curveto
346 -10 
347 156 12 164 22 168 curveto
348 28 158 30 152 30 140 curveto
349 30 108 -44 92 -44 40 curveto
350 -44 8 -16 0 4 0 curveto
351 241 
352 1.000 endpath
353 endgate
354 } def
356 /musiclib::bclef {
357 begingate
358 1 1.000 0 5 27 90.000 192.000 xcarc
359 241 1.000 48 16 3 0.000 360.000 xcarc
360 241 1.000 48 -15 3 0.000 360.000 xcarc
361 241 1.000 -17 3 10 0.000 360.000 xcarc
362 36 -4 beginpath
363 36 -44 8 -60 -28 -68 curveto
364 40 -52 32 32 0 32 curveto
365 28 32 36 12 36 -4 curveto
366 241 
367 1.000 endpath
368 endgate
369 } def
371 /musiclib::keyBf {
372 begingate
373 1.000 0 -18 -17 musiclib::flt
374 1.000 0 14 31 musiclib::flt
375 endgate
376 } def
378 /musiclib::keyEf {
379 begingate
380 1.000 0 -18 -17 musiclib::flt
381 1.000 0 14 31 musiclib::flt
382 1.000 0 46 -33 musiclib::flt
383 endgate
384 } def
386 /musiclib::keyDf {
387 begingate
388 1.000 0 -96 -48 musiclib::flt
389 1.000 0 -64 0 musiclib::flt
390 1.000 0 -32 -64 musiclib::flt
391 1.000 0 0 -16 musiclib::flt
392 1.000 0 32 -80 musiclib::flt
393 endgate
394 } def
396 /musiclib::dot {
397 begingate
398 248 1.000 0 0 6 0.000 360.000 xcarc
399 endgate
400 } def
402 /musiclib::ddot {
403 begingate
404 241 1.000 0 16 5 0.000 360.000 xcarc
405 241 1.000 0 -16 5 0.000 360.000 xcarc
406 endgate
407 } def
409 /musiclib::common {
410 begingate
411 241 1.000 14 18 8 -180.000 180.000 xcarc
412 1 1.000 18 30 20 26 22 20 8 32 spline
413 1 1.000 18 -26 22 -20 24 -14 14 -28 spline
414 -24 0 beginpath
415 -24 16 -16 36 8 32 curveto
416 -20 38 -18 -48 14 -28 curveto
417 4 -36 -24 -32 -24 0 curveto
418 241 
419 1.000 endpath
420 endgate
421 } def
423 /musiclib::cuttime {
424 begingate
425 1.000 0 0 0 musiclib::common
426 1 1.000 2 46 2 -46 2 polygon
427 endgate
428 } def
430 /musiclib::two {
431 begingate
432 241 1.000 -10 18 8 0.000 360.000 xcarc
433 1 1.000 -14 30 -16 26 -18 20 -4 32 spline
434 1 1.000 -18 -20 -18 -16 2 -6 -24 -32 spline
435 26 -12 beginpath
436 26 -50 -14 -20 -24 -32 curveto
437 -8 0 26 -34 26 -12 curveto
438 241 1.000 endpath
439 -4 32 beginpath
440 16 34 22 4 2 -6 curveto
441 24 2 26 8 26 18 curveto
442 26 24 20 36 -4 32 curveto
443 241 1.000 endpath
444 endgate
445 } def
447 /musiclib::three {
448 begingate
449 241 1.000 -14 -18 8 0.000 360.000 xcarc
450 1 1.000 -18 -30 -20 -26 -22 -20 -8 -32 spline
451 241 1.000 -14 18 8 0.000 360.000 xcarc
452 1 1.000 -18 30 -20 26 -22 20 -8 32 spline
453 -6 0 beginpath
454 16 0 22 6 22 18 curveto
455 22 24 16 36 -8 32 curveto
456 12 34 18 0 -6 0 curveto
457 16 0 22 -6 22 
458 -18 curveto
459 22 -24 16 -34 -8 -32 curveto
460 12 -34 18 0 -6 0 curveto
461 241 1.000 endpath
462 endgate
463 } def
465 /musiclib::four {
466 begingate
467 1 1.000 -24 -10 24 -10 2 polygon
468 12 -24 beginpath
469 11 -28 15 -31 20 -32 curveto
470 -10 -32 1 polyc
471 -5 -31 -2 -28 -2 -24 curveto
472 12 
473 -24 12 18 -2 2 3 polyc
474 241 1.000 endpath
475 -24 -10 beginpath
476 -16 0 -6 20 -6 28 curveto
477 -22 -10 14 32 2 polyc
478 241 1.000 endpath
479 endgate
480 } def
482 /musiclib::six {
483 begingate
484 241 1.000 12 20 8 0.000 360.000 xcarc
485 1 1.000 16 30 18 26 20 20 6 32 spline
486 1 1.000 -6 4 -12 -4 -10 -14 0 4 spline
487 0 4 beginpath
488 14 5 12 -34 0 -32 curveto
489 -26 -32 -24 -4 -24 0 curveto
490 -24 8 -20 36 6 32 curveto
491 -14 34 
492 -16 -32 0 -32 curveto
493 20 -32 22 -20 22 -12 curveto
494 22 2 8 6 0 4 curveto
495 241 1.000 endpath
496 endgate
497 } def
499 /musiclib::eight {
500 begingate
501 1 1.000 -6 -34 8 -34 14 -30 -12 -30 spline
502 -10 30 beginpath
503 -22 24 -30 4 0 -6 curveto
504 20 -14 22 -24 14 -30 curveto
505 26 -24 34 0 4 10 curveto
506 -14 16 
507 -18 24 -10 30 curveto
508 241 1.000 endpath
509 -12 -30 beginpath
510 -18 -26 -22 -14 -14 0 curveto
511 -24 -6 -28 -22 -12 -30 curveto
512 241 1.000 endpath
513 14 30 beginpath
514 22 22 20 10 16 4 curveto
515 22 8 30 22 14 30 curveto
516 241 1.000 endpath
517 1 1.000 -4 34 8 34 14 30 -10 30 spline
518 endgate
519 } def
521 /musiclib::nine {
522 begingate
523 241 1.000 -16 -18 8 0.000 360.000 xcarc
524 1 1.000 -20 -30 -22 -26 -24 -20 -10 -32 spline
525 1 1.000 4 -4 8 0 9 10 -4 -4 spline
526 -4 -4 beginpath
527 -18 -5 -16 34 -4 32 curveto
528 15 32 16 -39 -10 -32 curveto
529 26 -34 24 -6 24 0 curveto
530 24 4 
531 26 32 -4 32 curveto
532 -24 32 -26 20 -26 12 curveto
533 -26 -2 -13 -4 -4 -4 curveto
534 241 1.000 endpath
535 endgate
536 } def
538 /musiclib::pedal {
539 begingate
540 1 1.000 -22 34 -32 32 -36 30 -12 30 spline
541 4 -28 beginpath
542 -8 -18 -30 -34 -32 -32 curveto
543 -34 -30 -18 -24 -4 -32 curveto
544 4 -28 1 polyc
545 241 
546 1.000 endpath
547 -20 -28 beginpath
548 -6 0 -32 12 -26 32 curveto
549 -40 4 -14 -8 -20 -28 curveto
550 241 1.000 endpath
551 -18 18 beginpath
552 -6 2 4 22 -12 30 curveto
553 18 18 -8 -12 -18 18 curveto
554 241 1.000 endpath
555 -36 30 beginpath
556 -60 18 -52 -10 -34 6 curveto
557 -50 -4 -48 24 -36 30 curveto
558 241 1.000 endpath
559 1 1.000 22 -18 20 0 12 0 4 -28 spline
560 44 -30 beginpath
561 30 -36 24 -4 32 0 curveto
562 20 -6 20 -40 44 -30 curveto
563 62 -20 42 22 12 16 curveto
564 36 24 
565 52 -24 44 -30 curveto
566 241 1.000 endpath
567 12 0 beginpath
568 -2 0 0 -44 26 -28 curveto
569 8 -40 4 0 12 0 curveto
570 241 1.000 endpath
571 241 1.000 58 -30 2 0.000 360.000 xcarc
572 endgate
573 } def
575 /musiclib::ppin {
576 % hidden
577 begingate
578 3 -12 beginpath
579 3 -9 1 polyc
580 -1 -8 0 1 2 2 curveto
581 5 4 6 7 5 10 curveto
582 3 13 0 14 -2 13 curveto
583 -5 11 -6 
584 8 -5 5 curveto
585 -4 4 -3 3 -2 2 curveto
586 0 1 1 -8 -3 -9 curveto
587 -3 -12 1 polyc
588 -1 -10 1 -10 2 -12 curveto
589 241 
590 1.000 endpath
591 endgate
592 } def
594 /musiclib::blip {
595 % hidden
596 begingate
597 0 -16 beginpath
598 -24 8 12 4 0 16 curveto
599 24 -8 -12 -4 0 -16 curveto
600 241 1.000 endpath
601 endgate
602 } def
604 /musiclib::pedalstop {
605 begingate
606 -1.000 45 11 11 musiclib::ppin
607 1.000 0 0 15 musiclib::ppin
608 1.000 90 15 0 musiclib::ppin
609 -1.000 225 -11 -11 musiclib::ppin
610 -1.000 315 -11 11 musiclib::ppin
611 -1.000 270 -15 0 musiclib::ppin
612 -1.000 180 0 -15 musiclib::ppin
613 -1.000 135 11 -11 musiclib::ppin
614 endgate
615 } def
617 /musiclib::rept {
618 begingate
619 240 1.000 -32 -256 -32 256 -16 256 -16 -256 4 polygon
620 1 1.000 0 256 0 -256 2 polygon
621 1.000 0 16 192 musiclib::ddot
622 1.000 0 16 -192 musiclib::ddot
623 endgate
624 } def
626 /musiclib::gliss {
627 begingate
628 1.000 0 0 80 musiclib::blip
629 1.000 0 0 16 musiclib::blip
630 1.000 0 0 48 musiclib::blip
631 1.000 0 0 -16 musiclib::blip
632 1.000 0 0 -80 musiclib::blip
633 1.000 0 0 -48 musiclib::blip
634 endgate
635 } def
637 /musiclib::bar {
638 begingate
639 1 1.500 0 256 0 -256 2 polygon
640 endgate
641 } def
643 /musiclib::lines {
644 begingate
645 1 1.000 0 -32 3552 -32 2 polygon
646 1 1.000 0 64 3552 64 2 polygon
647 1 1.000 0 0 3552 0 2 polygon
648 1 1.000 0 32 3552 32 2 polygon
649 1 1.000 0 -64 3552 -64 2 polygon
650 endgate
651 } def
653 /musiclib::staff {
654 begingate
655 1.000 0 64 -192 musiclib::lines
656 1.000 0 64 192 musiclib::lines
657 -1.000 180 48 -160 musiclib::br1
658 1.000 0 48 160 musiclib::br1
659 1.000 0 64 0 musiclib::bar
660 1.000 0 3616 0 musiclib::bar
661 1.000 0 144 128 musiclib::tclef
662 1.000 0 128 -160 musiclib::bclef
663 endgate
664 } def
666 /musiclib::doublet {
667 <</p_xps 64 /p_yps -64 /p_yps2 80 (expr @p_yps + 144) pop /p_yps3 64 
668 (expr @p_yps + 128) pop >> begingate
669 1.000 0 -32 -96 musiclib::qn
670 1.000 0 p_xps p_yps musiclib::qn
671 496 1.000 -32 32 -32 48 p_xps p_yps2 p_xps p_yps3 4 polygon
672 endgate
673 } def
675 /musiclib::triplet {
676 <</p_yps3 96 (expr @p_yps + 128) pop
677  /p_yps2 112 (expr @p_yps + 144) pop
678  /p_yps -32 /p_xps 160 /p_yps4 -48
679  /p_xps2 64 (expr -32 + (@p_xps + 32) / 2) pop
680  /p_xps3 72 (expr @p_xps2 + 7) pop
681  /p_yps5 64 (expr 8 + (32 + @p_yps3) / 2) pop >> begingate
682 1.000 0 -32 -96 musiclib::qn
683 1.000 0 p_xps p_yps musiclib::qn
684 1.000 0 p_xps2 p_yps4 musiclib::hd
685 1 1.000 p_xps3 p_yps4 p_xps3 p_yps5 2 polygon
686 496 1.000 -32 32 -32 48 p_xps p_yps2 p_xps p_yps3 4 polygon
687 endgate
688 } def
690 /musiclib::tie {
691 <</p_xps -96 /p_yps -32 /p_xps2 96 /p_yps2 32 /p_xps3 0 /p_xps4 64
692 /p_yps5 -24 /p_yps4 -18 (expr @p_yps5 + 6) pop
693 /p_yps6 -56 /p_yps3 -50 (expr @p_yps6 + 6) pop >> begingate
694 p_xps p_yps beginpath
695 p_xps3 p_yps3 p_xps4 p_yps4 p_xps2 p_yps2 curveto
696 p_xps4 p_yps5 p_xps3 p_yps6 p_xps p_yps curveto
697 497 1.000 endpath
698 endgate
699 } def
701 % EndLib