1.4 Errors comuns

Les condicions d’error que es descriuen més a sota es produeixen amb freqüència, tot i que la causa no és òbvia o fàcil de trobar. Un cop se han vist i comprès, es gestionen sense problema.


La música se surt de la pàgina

La música que se surt de la pàgina pel marge dret o que apareix exageradament comprimida està causada gairebé sempre per haver introduït una duració incorrecta per a una nota, produint que la nota final d’un compàs s’estengui més enllà de la línia divisòria. Això no és invàlid si la nota final d’un compàs no acaba sobre la línia divisòria introduïda automàticament, atès que simplement se suposa que la nota se solapa a sobre del compàs següent. Però si es produeix una seqüència llarga d’aquestes notes solapades, la música pot aparèixer comprimida o sortir-se de la pàgina perquè els salts de línia automàtiques solament se poden inserir al final dels compassos complets, és a dir, els compassos en els quals totes les notes acaben abans o just al final del compàs.

Nota: Una duració incorrecta pot fer que s’inhibeixin els salts de línia, el que portaria a una sola línia de música molt comprimida o que se surti de la pàgina.

La duració incorrecta es pot trobar fàcilment si s’utilitzen comprovacions de compàs, vegeu Comprovació de compàs i de número de compàs.

Si realment volem tenir una sèrie d’aquests compassos amb notes solapades, hem d’inserir una línia divisòria invisible on volem el salt de línia. Per veure més detalls, consulteu Barres de compàs.


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]


Missatge d’error Unbound variable %

Aquest missatge d’error apareix al final dels missatges de la consola o del fitxer de registre junt a un missatge “GUILE ha senyalat un error …” cada cop que es cridi a una rutina del Scheme que (incorrectament) contingui un comentari del LilyPond enlloc d’un comentari del Scheme.

Els comentaris del LilyPond comencen amb un símbol de percentatge, (%), i no s’han d’utilitzar dins de les rutines del Scheme. Els comentaris del Scheme comencen amb punt i coma, (;).


Missatge d’error FT_Get_Glyph_Name

Aquest missatge d’error apareix a la sortida de la consola o al fitxer log de registre si un fitxer d’entrada conté un caràcter que no és ASCII i no s’ha desat en la codificació de caràcters UTF-8. Per veure més detalls, consulteu Codificació del text.


Advertiment sobre que les afinitats del pentagrama sols han de decrèixer

Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la sortida impresa, per exemple si sols hi ha un context ChordName i un context Lyrics com a un full guia d’acords. Els missatges d’advertiment es poden evitar fent que un dels contextos es comporti com un pentagrama, inserint

\override VerticalAxisGroup.staff-affinity = ##f

al començament. Per veure més detalls, consulteu “Espaiat de les línies que no són pautes” a Espaiat vertical flexible dins dels sistemes.


Missatge d’error Unexpected new \new

Un bloc \score ha de contenir una única expressió musical. Si en comptes d’això conté diverses instruccions \new Staff, \new StaffGroup o contextos semblants introduïts amb \new sense que s’hagin tancat entre claus, { … }, o dobles parèntesis en angle, << … >>, així:

\score {
  % Invàlid! Genera error: error de sintaxi, \new inesperat
  \new Staff { … }
  \new Staff { … }
}

aleshores es produirà un missatge d’error.

Per evitar l’error, tanqueu totes les instruccions \new dins de les claus o dobles parèntesis d’angle.

L’ús de claus introdueix les instruccions \new de forma seqüencial:

\score {
  {
    \new Staff { a' a' a' a' }
    \new Staff { g' g' g' g' }
  }
}

[image of music]

però és més probable que us trobeu utilitzant angles dobles de manera que els pentagrames nous s’insereixin en paral·lel, és a dir, simultàniament:

\score {
  <<
    \new Staff { a' a' a' a' }
    \new Staff { g' g' g' g' }
  >>
}

[image of music]


LilyPond — Utilització v2.23.82 (branca de desenvolupament).