1 %!PS-Adobe-1.0: lily.ps
3 % 2 setlanguagelevel % hmm. auto_resize_dicts doesn't help either.
8 % staffheight 4 div /interline exch def
9 % interline 3 div /bracket_b exch def
10 % interline 2 mul /bracket_w exch def
11 % stafflinethickness 2 mul /bracket_t exch def
12 % interline 1.5 mul /bracket_v exch def
13 % bracket_v /bracket_u exch def
14 % 50 /bracket_alpha exch def
16 /draw_beam % width slope thick
18 2 div /beam_thick exch def
21 beam_slope beam_wd mul /beam_ht exch def
22 0 beam_thick neg moveto
23 beam_wd beam_ht rlineto
24 0 beam_thick 2 mul rlineto
29 /draw_decrescendo % width height cons
31 stafflinethickness setlinewidth
36 cresc_wd cresc_cont moveto
39 cresc_wd cresc_cont neg moveto
44 /draw_crescendo % width height cons
46 stafflinethickness setlinewidth
52 cresc_wd cresc_ht lineto
54 0 cresc_cont neg moveto
55 cresc_wd cresc_ht neg lineto
61 1 copy mul exch 1 copy mul add sqrt
64 /draw_tuplet % dx dy thick dir
66 % urg: the only Level-2 PS, check effect in print
67 % true setstrokeadjust
74 staffheight 2 div /tuplet_gapx exch def
75 tuplet_dy tuplet_dx div tuplet_gapx mul /tuplet_gapy exch def
76 staffheight 4 div dir mul /tuplet_h exch def
80 tuplet_dx tuplet_gapx sub 2 div
81 tuplet_dy tuplet_gapy sub 2 div tuplet_h add lineto
82 tuplet_dx tuplet_gapx add 2 div
83 tuplet_dy tuplet_gapy add 2 div tuplet_h add moveto
84 tuplet_dx tuplet_dy tuplet_h add lineto
85 tuplet_dx tuplet_dy lineto
89 /draw_volta % w thick last
94 staffheight 2 div /volta_h exch def
95 % urg: the only Level-2 PS, check effect in print
96 % true setstrokeadjust
101 volta_w volta_h lineto
108 % this is for drawing slurs.
109 /draw_bezier_sandwich
111 stafflinethickness setlinewidth
139 /traject_alpha exch def
140 traject_ds traject_alpha sin mul add
142 traject_ds traject_alpha cos mul add
153 bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
154 bracket_alpha bracket_v -0.15 mul bracket_traject
157 0 bracket_v 0.5 mul bracket_traject
161 bracket_b bracket_h bracket_t sub
162 0 bracket_v 0.4 mul bracket_traject
164 bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
165 bracket_alpha bracket_v -0.25 mul bracket_traject
167 bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
169 bracket_b bracket_h bracket_t sub
188 /draw_bracket % height
190 2 div bracket_b add /bracket_h exch def
191 bracket_t setlinewidth
192 % urg: the only Level-2 PS, check effect in print
193 % true setstrokeadjust