4 lsrtags = "staff-notation, tweaks-and-overrides"
6 A glissando which extends into several @code{\alternative} blocks
7 can be simulated by adding a hidden grace note with a glissando
8 at the start of each @code{\alternative} block. The grace note
9 should be at the same pitch as the note which starts the initial
10 glissando. This is implemented here with a music function which
11 takes the pitch of the grace note as its argument.
13 Note that in polyphonic music the grace note must be matched with
14 corresponding grace notes in all other voices.
16 doctitle = "Extending glissandi across repeats"
19 repeatGliss = #(define-music-function (parser location grace)
22 % the next two lines ensure the glissando is long enough
24 \once \override Glissando.springs-and-rods
25 = #ly:spanner::set-spacing-rods
26 \once \override Glissando.minimum-length = #3.5
28 \grace $grace \glissando
33 \repeat volta 3 { c4 d e f\glissando }
36 { \repeatGliss f g2 e }
37 { \repeatGliss f e2 d }
42 music = \relative c' {
56 \context Voice { \clef "G_8" \music }
59 \context TabVoice { \clef "moderntab" \music }