4 doctitle = "Broken crescendo hairpin"
5 lsrtags = "expressive-marks"
7 In order to make parts of a crescendo hairpin invisible, the following
8 method is used: A white rectangle is drawn on top of the respective
9 part of the crescendo hairpin, making it invisible. The rectangle is
10 defined as postscript code within a text markup.
12 To fine-tune the position and size of the markup, the number
13 preceding @code{setgray} in the postscript definition can be set to a
14 value <1 making it grey. The two numbers before @code{scale} in the
15 postscript code are responsible for the width and height of the
16 rectangle, the two numbers before @code{translate} change the x- and
17 y-origin of the rectangle.
19 Make sure to put the hairpin in a lower layer than the text markup to
20 actually draw the rectangle above the hairpin.
27 \override DynamicLineSpanner #'staff-padding = #4
30 \override DynamicLineSpanner #'layer = #0
32 \override TextScript #'layer = #2
34 \postscript #"1.9 -8 translate 5 4 scale 1 setgray 0 0 moveto 0 1
35 lineto 1 1 lineto 1 0 lineto 0 0 lineto fill"
37 r8. des4 ~ des16->\sff
40 \layout { ragged-right = ##t }