Apareix un pentagrama de més

Si no es creen els contextos explícitament amb \new o amb \context, es crearan discretament tan aviat com es trobi una instrucció que no es pot aplicar a un context existent. A partitures senzilles, la creació automàtica dels contextos és útil, i gairebé tots els exemples dels manuals del LilyPond s’aprofiten d’aquesta simplificació. Però ocasionalment la creació discreta de contextos pot fer aflorar pentagrames o partitures nous o inesperats. Per exemple, podria esperar-se que el codi següent fet que totes les notes dins del pentagrama següent estiguessin acolorides de vermell, però de fet el resultat són dos pentagrames, romanent el de sota amb les notes amb el color negre predeterminat.

\override Staff.NoteHead.color = #red
\new Staff { a' }

[image of music]

Això és així perquè no hi ha cap context Staff quan es processa la instrucció override de sobreescriptura, es crea un implícitament i la sobreescriptura s’aplica a aquest context, però aleshores la instrucció \new Staff crea un pentagrama nou i diferent, en el qual es col·loquen les notes. El codi correcte per acolorir totes les notes de vermell és

\new Staff {
  \override Staff.NoteHead.color = #red
  a'
}

[image of music]

Com a segon exemple, si una instrucció \relative s’escriu dins d’una instrucció \repeat, el resultat són dos pentagrames, el segon desplaçat respecte al primer, perquè la instrucció \repeat genera dos blocs \relative, cada un dels quals crea implícitament blocs Staff i Voice.

\repeat unfold 2 {
  \relative { c'4 d e f }
}

[image of music]

El problema es resol instanciant el context Voice explícitament:

\new Voice {
  \repeat unfold 2 {
    \relative { c'4 d e f }
  }
}

[image of music]


LilyPond: manual d’utilització del programa v2.25.22 (development-branch).