Context-first \change commands prior to any note, rest or skip data
print "warning: can't change `Staff' to `down': not changing to same
context type" and fail to effect staff change, as reported by Will
Oram.


%%%%% BEGN FIRST-NOTE CHANGE SNIPPET %%%%%%%

\score {
   \context PianoStaff = piano <<
      <<
         \context Staff = "1" {
            \clef treble
            \time 1/4
            \change Staff = "2" % THIS LINE FAILS
            c'16
            \change Staff = "1"
            c'16
            c'16
            c'16
         }
         \context Staff = "2" {
            \clef bass
            \time 1/4
            s4
         }
      >>
   >>
}

%%%%%%% END BUG SNIPPET %%%%%%%%%%


Fortunately, there's a workaround. Add a durationless skip just prior
to change (thereby satisfying what seems to be a constraint that some
note or rest or skip precede any \change command.

%%%%%%% BEGIN FIRST-NOTE CHANGE WORKAROUND %%%%%%

\score {
   \context PianoStaff = piano <<
      <<
         \context Staff = "1" {
            \clef treble
            \time 1/4
            s4*0 % ADD THIS LINE FOR WORKAROUND
            \change Staff = "2"
            c'16
            \change Staff = "1"
            c'16
            c'16
            c'16
         }
         \context Staff = "2" {
            \clef bass
            \time 1/4
            s4
         }
      >>
   >>
}

%%%%% END WORKAROUND %%%%%%%%%%%%%


-- 
Trevor Bača
[EMAIL PROTECTED]
_______________________________________________
bug-lilypond mailing list
bug-lilypond@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to