<nothingwavering <at> gmail.com> writes: > I'm familiar with the instruction > \context { \Staff \RemoveEmptyStaves }
> Is there a way to tell Lilypond to stop showing a non-empty staff > (that contains notes) and reclaim its space after the next line break? There is a variable called keepAliveInterfaces that describes what contents LilyPond considers before removing "empty" staves. (It is only mentioned in the documentation in the Internals Reference, but you can see its usual definition in 'engraver-init.ly' included in the LilyPond installation.) You could set this variable to an empty list for the Staff that you want to disappear at the next line, and then "unset" it so that LilyPond uses the default definition when you need that Staff to return. Or you can probably do something more clever. If this or some other solution works well for you, you might recommend it as a solution/workaround for an outstanding bug <http://code.google.com/p/lilypond/issues/detail?id=2779> \version "2.16.0" \paper { #(set-paper-size "a6") indent = 2.5\cm short-indent = 1.2\cm } violinI = \repeat unfold 8 {c''1} violinIIa = \relative c' { \override Staff.VerticalAxisGroup #'remove-first = ##t \set Staff.shortInstrumentName = "outer" \set Staff.keepAliveInterfaces = #'() c4 d e f g f e d \unset Staff.keepAliveInterfaces <>_"divisi" e f g a b a g f \set Staff.keepAliveInterfaces = #'() <>_"unison" c d e f g f e d c d e f c1 } violinIIb = \relative c' { c4 d e f g f e d \set Staff.shortInstrumentName = "inner" c d e f g f e d \set Staff.shortInstrumentName = "" c d e f g f e d c d e f c1 } \new StaffGroup << \new Staff \with { instrumentName = "1st Violins" shortInstrumentName = "Vn1" } \violinI \new GrandStaff \with { instrumentName = "2nd Violins" shortInstrumentName = "Vn2" } << \new Staff \violinIIa \new Staff \violinIIb >> >> \layout { \context { \Staff \RemoveEmptyStaves }} _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user