diff options
author | Mark Knoop <mark@opus11.net> | 2016-09-08 18:56:16 +0100 |
---|---|---|
committer | James Lowe <pkx166h@gmail.com> | 2016-09-08 18:56:40 +0100 |
commit | 5944d20489bb5b8e4c4907fa3b3bcae9ec275ccb (patch) | |
tree | 6ad0b84f5685085aab33faa42d43e4f26aff3d23 /input | |
parent | 93f3d637efbc038b837cf64fae0872e873e4f039 (diff) |
Keep a staff alive with multiple layers
This allows the `VerticalAxisGroup.remove-layer'
property to accept a list of values. The layer
will stay alive with any other member of the
Keep_alive_together_engrave group with a
remove-layer value in that list.
The principal reason for this patch was to
allow the use of MarkLine contexts in a Frenched
score, where the context should stay alive with
any single staff in a StaffGroup.
This implementation should also allow additional
flexibility with ossia and divisi staves.
Diffstat (limited to 'input')
-rw-r--r-- | input/regression/remove-layer-symbol.ly | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/input/regression/remove-layer-symbol.ly b/input/regression/remove-layer-symbol.ly new file mode 100644 index 0000000000..d6fa93dcdd --- /dev/null +++ b/input/regression/remove-layer-symbol.ly @@ -0,0 +1,65 @@ +\version "2.19.48" + +\header { + texidoc = "The @code{VerticalAxisGroup.remove-layer} property + can be used to keep staves alive with reference to other staves + in the @code{Keep_alive_together_engraver} group." +} + +\layout { + indent = 40\mm + short-indent = 15\mm +} + +\score { + << + \new Staff \with { + instrumentName = "Continuous" + shortInstrumentName = "cont" + } { \repeat unfold 104 g'4 \bar "|." } + \new StaffGroup \with { + \consists Keep_alive_together_engraver + } << + \new Staff \with { + keepAliveInterfaces = #'() + instrumentName = \markup \center-column { "Alive with A or B" } + shortInstrumentName = "with A or B" + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-layer = #'any + } { \repeat unfold 104 c''4 } + \new Staff \with { + instrumentName = "A" + shortInstrumentName = "A" + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-layer = ##f + } { + \repeat unfold 16 c'4 + R1*4 + \repeat unfold 16 c'4 + R1*14 + } + \new Staff \with { + keepAliveInterfaces = #'() + instrumentName = \markup \center-column { "Alive with A" } + shortInstrumentName = "with A" + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-layer = #'above + } { \repeat unfold 104 c''4 } + \new Staff \with { + instrumentName = "B" + shortInstrumentName = "B" + \override VerticalAxisGroup.remove-empty = ##t + \override VerticalAxisGroup.remove-first = ##t + \override VerticalAxisGroup.remove-layer = ##f + } { + R1*8 + \repeat unfold 16 c'4 + R1*13 + c'1 + } + >> + >> +} |