%{ NullVoice is unlike a Voice in this respect: trying to move it to a different Staff with \change fails with this warning:
Change_iterator::process (): NullVoice = `soprano': cannot change `Staff' to `S': not changing to same context type: Staff Apart from the warning, this is inconvenient. The NullVoice remaining in the original staff keeps the original staff alive, demanding manual work to make it disappear. The NullVoice context definition contains both of the following: \alias "Staff" \alias "Voice" My knowledge of contexts is not extensive, but I suggest that the test that \change applies is too simple. %} \version "2.19.54" %% just because it's what I'm using sopranoNotes = \fixed c' { c1 d e f \break \change Staff = "S" g a b c' } \new ChoirStaff \with { \RemoveEmptyStaves \override VerticalAxisGroup.remove-first = ##t } << \new Staff = "S" \with { instrumentName = "S" shortInstrumentName = "S" } { $(skip-of-length sopranoNotes) } \new Staff = "SA" \with { instrumentName = "SA" shortInstrumentName = "SA" } << \new Voice { \sopranoNotes } \new NullVoice = "soprano" { \sopranoNotes } >> >> _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond