Extending glissandi across repeats: Difference between revisions
Appearance
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series |
No edit summary |
||
| Line 54: | Line 54: | ||
[[Category:Included in the official documentation]] | [[Category:Included in the official documentation]] | ||
[[Category:Staff notation]] | [[Category:Staff notation]] | ||
[[Category:Tweaks and overrides]] | [[Category:Tweaks and overrides]][[Category:Snippet]] | ||
Revision as of 22:52, 21 November 2025
A glissando which extends into several \alternative blocks can be simulated by adding a hidden grace note with a glissando at the start of each \alternative block. The grace note should be at the same pitch as the note which starts the initial glissando. This is implemented here with a music function which takes the pitch of the grace note as its argument.
Note that in polyphonic music the grace note must be matched with corresponding grace notes in all other voices.
\version "2.24"
repeatGliss = #(define-music-function (grace)
(ly:pitch?)
#{
% the next two lines ensure the glissando is long enough
% to be visible
\once \override Glissando.springs-and-rods
= #ly:spanner::set-spacing-rods
\once \override Glissando.minimum-length = 3.5
\once \hideNotes
\grace $grace \glissando
#})
\score {
\relative c'' {
\repeat volta 3 { c4 d e f\glissando }
\alternative {
{ g2 d }
{ \repeatGliss f g2 e }
{ \repeatGliss f e2 d }
}
}
}
music = \relative c' {
\voiceOne
\repeat volta 2 {
g a b c\glissando
}
\alternative {
{ d1 }
{ \repeatGliss c \once \omit StringNumber e1\2 }
}
}
\score {
\new StaffGroup <<
\new Staff <<
\new Voice { \clef "G_8" \music }
>>
\new TabStaff <<
\new TabVoice { \clef "moderntab" \music }
>>
>>
}
\paper { tagline = ##f }