Jean Abou Samra <j...@abou-samra.fr> writes: > Hi again, > > In this example, LilyPond complains and \change has no effect. However, > if you move the \change between the second and the third measure (i.e. > one line lower), then all is fine. So, it seems that \change does not > work right after the end of simultaneous voices.
Wrong. \change does not work to change a Staff from Staff to Staff, and at the point of your first \change command, you do not yet have a Voice (the temporary voices started in << \\ >> have just ended). So the solution is to actually start a voice. > \version "2.21.0" > > << > \new Staff = "up" { try \new Staff = "up" \new Voice { and you'll actually _have_ a Voice that can change to the other Staff. > << { c'' } \\ { c' } >> > \change Staff = "down" > c'4 > c'4 > } > \new Staff = "down" { > s4*3 > } > >> > > The log contains: > > warning: Change_iterator::process (): Staff = `up': > -:8:5: warning: cannot change `Staff' to `down': not changing to same > context type: Staff > \change Staff = "down" > > A workaround is to add a \grace s8 in all voices, between the end of > simultaneous voices and the \change invocation. > > Regards, > > Jean Abou Samra > _______________________________________________ > bug-lilypond mailing list > bug-lilypond@gnu.org > https://lists.gnu.org/mailman/listinfo/bug-lilypond -- David Kastrup _______________________________________________ bug-lilypond mailing list bug-lilypond@gnu.org https://lists.gnu.org/mailman/listinfo/bug-lilypond