[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Messaggi di errore ] | [ Su : Eseguire lilypond ] | [ La musica esce dalla pagina > ] |
1.4 Errori comuni
Le condizioni di errore descritte di seguito capitano spesso, ma la causa non è ovvia né facile da trovare. Una volta che sono state individuate e comprese, è facile gestirle.
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Errori comuni ] | [ Su : Errori comuni ] | [ Appare un rigo in più > ] |
La musica esce dalla pagina
Se la musica esce dalla pagina al di là del margine destro o appare eccessivamente compressa, quasi sempre è dovuto all’inserimento di una durata errata di una nota, che fa sì che l’ultima nota di una misura si estenda oltre la barra di divisione. Non è sbagliato se la nota finale di una misura non termina entro la barra di divisione inserita automaticamente, perché semplicemente si assume che la nota continui nella misura successiva. Ma se si presenta una lunga sequenza di misure simili, la musica può apparire compressa o può uscire dalla pagina perché gli a capo automatici possono essere inseriti soltanto alla fine di misure complete, ovvero quando tutte le note finiscono prima o alla fine della misura.
Nota: Una durata sbagliata può inibire l’interruzione di linea, portando a una linea di musica estremamente compressa o a musica che esce dalla pagina.
La durata errata può essere trovata facilmente se si usano i controlli di battuta, si veda Bar and bar number checks.
Se si vuole davvero ottenere una serie di tali misure sovrapposte bisogna inserire una barra di divisione invisibile nel punto in cui si desidera l’interruzione di linea. Per i dettagli si veda Bar lines.
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < La musica esce dalla pagina ] | [ Su : Errori comuni ] | [ Errore apparente in ../ly/init.ly > ] |
Appare un rigo in più
Se i contesti non sono creati esplicitamente con \new
o
\context
, saranno creati senza avviso appena si incontra
un comando che non può essere applicato a un contesto
esistente. Nelle partiture semplici la creazione automatica dei contesti
è utile: infatti la maggior parte degli esempi nei manuali LilyPond sfrutta
questa semplificazione. Talvolta, però, la creazione silenziosa di contesti
può causare la comparsa di nuovi righi o partiture non desiderate. Ad esempio,
si potrebbe pensare che il seguente codice colori di rosso tutte le teste
delle note nel rigo, ma in realtà produce due righi, di cui il più basso
conserva il colore nero predefinito per le teste delle note.
\override Staff.NoteHead #'color = #red \new Staff { a }
Questo accade perché non esiste un contesto Staff
quando viene
elaborata l’istruzione di override, quindi ne viene implicitamente creato uno e
l’override viene applicato ad esso. Ma poi il comando \new Staff
crea
un altro rigo separato nel quale vengono inserite le note. Il codice
corretto per colorare le teste di tutte le note è
\new Staff { \override Staff.NoteHead #'color = #red a }
Vediamo un secondo esempio. Se un comando \relative
viene posto
dentro un comando \repeat
, vengono generati due righi, il secondo
spostato orizzontalmente rispetto al primo, perché il comando \repeat
genera due blocchi \relative
, ognuno dei quali crea implicitamente i
blocchi Staff
e Voice
.
\repeat unfold 2 { \relative c' { c4 d e f } }
Per correggere il problema basta istanziare esplicitamente il contesto
Voice
:
\new Voice { \repeat unfold 2 { \relative c' { c4 d e f } } }
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Appare un rigo in più ] | [ Su : Errori comuni ] | [ Messaggio di errore Unbound variable % > ] |
Errore apparente in ../ly/init.ly
Possono apparire diversi strani messaggi di errore relativi a errori di sintassi in ‘../ly/init.ly’ se il file di input non ha una forma corretta, ad esempio se contiene delle parentesi o delle virgolette non chiuse correttamente.
L’errore più comune è la mancanza di una parentesi graffa, (}
), alla fine
di un blocco score
. In questo caso la soluzione è ovvia: controlla
che il blocco score
sia chiuso correttamente. La struttura corretta
di un file di input è descritta in
Come funzionano i file di input di LilyPond.
Per evitare questi errori conviene usare un editor che evidenzi automaticamente
le parentesi e le graffe corrispondenti.
Un’altra causa frequente di errore è la mancanza di uno spazio tra l’ultima
sillaba di un blocco di testo (lyrics) e la parentesi graffa che chiude il
blocco, (}
). Senza questa separazione, la graffa viene considerata
come parte della sillaba. Si consiglia di assicurarsi sempre che ci sia
uno spazio prima e dopo ogni parentesi graffa. Per comprendere l’importanza
di questo quando si usa il testo, si veda
Entering lyrics.
Questo messaggio di errore può apparire anche nel caso in cui sia omessa la
virgoletta di chiusura, ("
). In questo caso il messaggio di errore
dovrebbe dare un numero di riga vicino alla riga sbagliata. La virgoletta
non chiusa sarà solitamente una o due righe sopra.
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Errore apparente in ../ly/init.ly ] | [ Su : Errori comuni ] | [ Messaggio di errore FT_Get_Glyph_Name > ] |
Messaggio di errore Unbound variable %
Questo messaggio di errore comparirà in fondo alla console di output o nel file di log insieme al messaggio “GUILE signalled an error …” ogni volta che viene chiamata una routine di Scheme che contenga (erroneamente) un commento LilyPond invece di un commento Scheme.
I commenti LilyPond iniziano con un segno di percentuale, (%
), e non
devono essere usati all’interno delle routine di Scheme. I commenti Scheme
iniziano con un punto e virgola, (;
).
Messaggio di errore FT_Get_Glyph_Name
Questo messaggio di errore compare nella console di output o nel file di log file se un file di input contiene un carattere non-ASCII e non è stato salvato nella codifica UTF-8. Per dettagli si veda Text encoding.
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Messaggio di errore FT_Get_Glyph_Name ] | [ Su : Errori comuni ] | [ Aggiornare i file con convert-ly > ] |
Avvertimento sul fatto che le affinità del rigo devono solo diminuire
Questo avvertimento può apparire se non ci sono dei righi nell’output,
ad esempio se ci sono solo un contesto ChordName
e un
contesto Lyrics
, come in un lead sheet. Si possono evitare questi
messaggi di avvertimento facendo in modo che uno dei contesti si comporti
come un rigo inserendo
\override VerticalAxisGroup #'staff-affinity = ##f
all’inizio del contesto. Per dettagli si veda “Spacing of non-staff lines” in Flexible vertical spacing within systems.
[ << Eseguire lilypond ] | [Inizio][Contenuti][Indice][ ? ] | [ Aggiornare i file con convert-ly >> ] | ||
[ < Messaggio di errore FT_Get_Glyph_Name ] | [ Su : Errori comuni ] | [ Aggiornare i file con convert-ly > ] |
Other languages: English, deutsch, español, français, magyar, 日本語.
About automatic language selection.