5.1.1 Tutto sui contesti
I contesti sono organizzati in modo gerarchico:
Definizioni di output – gerarchia dei contesti
Questa sezione spiega la rilevanza delle definizioni di output quando si lavora coi contesti. Esempi di vere definizioni di output sono illustrati dopo (vedi Modifica di tutti i contesti dello stesso tipo).
Sebbene la musica scritta in un file possa riferirsi a un certo tipo o
nome di un contesto, i contesti vengono creati soltanto quando la musica
viene interpretata. LilyPond interpreta la musica in base a una
“definizione di output” e lo fa per le varie definizioni di output,
producendo un output diverso per ciascuna. La definizione di output che
crea l’output grafico si specifica con \layout
.
Una definizione di output molto più semplice, usata per produrre l’output
Midi, si specifica con \midi
. Molte altre definizioni di output
sono usate da LilyPond internamente, come quando si usa la combinazione
automatica delle parti (Combinazione automatica delle parti) o si creano citazioni
musicali (Citare altre voci).
Le definizioni di output definiscono la relazione tra i contesti e le loro
rispettive impostazioni predefinite. Sebbene la maggior parte dei cambiamenti
venga fatta solitamente in un blocco \layout
, le impostazioni relative
al Midi avranno effetto solo se inserite in un blocco \midi
.
Alcune impostazioni interessano vari tipi di output: per esempio, se
autoBeaming
è disattivato in qualche contesto, le travature contano
come melismi al fine di abbinare musica e testo vocale, come descritto
in Durate automatiche delle sillabe. Questo abbinamento viene fatto
sia per l’output grafico che per il Midi. Se le modifiche fatte a
autoBeaming
in una definizione di contesto di un blocco \layout
non sono ripetute nel corrispondente blocco \midi
, il testo e la
musica andranno fuori sincrono nel Midi.
Vedi anche
File installati: ‘ly/engraver-init.ly’. ‘ly/performer-init.ly’.
Score – il padre di tutti i contesti
Questo è il contesto del livello superiore. Nessun altro contesto può contenere un contesto Score. Per impostazione predefinita, il contesto Score gestisce l’amministrazione delle indicazioni di tempo e garantisce che elementi come le chiavi, le indicazioni di tempo e le armature di chiave siano allineate da rigo a rigo.
Un contesto Score viene istanziato implicitamente quando viene elaborato
un blocco \score {…}
.
Contesti del livello superiore – contenitori di righi
StaffGroup
Raggruppa i righi e aggiunge una parentesi quadra sul lato sinistro, che
raggruppa insieme i righi. Le stanghette dei righi in esso contenuti sono
connessi verticalmente. StaffGroup
è semplicemente un insieme di righi,
con una parentesi quadra all’inizio e le stanghette che li attraversano.
ChoirStaff
Identico a StaffGroup
eccetto che le stanghette dei righi in esso
contenuti non sono connesse verticalmente.
GrandStaff
Un gruppo di righi, con una parentesi graffa sul lato sinistro, che raggruppa insieme i righi. Le stanghette dei righi in esso contenuti sono connessi verticalmente.
PianoStaff
Identico a GrandStaff
, ma con il supporto ai nomi degli strumenti a
sinistra di ogni sistema.
Contesti del livello intermedio – righi
Staff
Gestisce chiavi, stanghette, armature di chiave, alterazioni. Può contenere
contesti Voice
.
RhythmicStaff
Come Staff
ma per le ritmiche. Le altezze vengono ignorate e le
note appaiono su una linea. L’output MIDI conserva le altezze inalterate.
TabStaff
Contesto per generare l’intavolatura (o tablatura). La forma predefinita è quella dell’intavolatura per chitarra, con sei linee.
DrumStaff
Contesto per gli strumenti percussivi. Può contenere DrumVoice
.
VaticanaStaff
Identico a Staff
, a parte il fatto che è progettato per rappresentare
un brano in stile gregoriano.
MensuralStaff
Identico a Staff
, a parte il fatto che è progettato per rappresentare
un brano in stile mensurale.
Contesti del livello inferiore – voci
I contesti al livello della voce inizializzano alcune proprietà e avviano
gli incisori adatti. Un contesto del livello inferiore è privo di
defaultchild
. Sebbene sia possibile far sì che accetti/contenga
sottocontesti, questi possono essere creati e inseriti solo esplicitamente.
Voice
Corrisponde a una voce di un rigo. Questo contesto gestisce la conversione di segni di dinamica, gambi, travature, apici e pedici, legature di portamento e di valore e pause. Deve essere istanziata esplicitamente se si hanno molteplici voci nello stesso rigo.
VaticanaVoice
Identico a Voice
, a parte il fatto che è progettato per rappresentare
un brano in stile gregoriano.
MensuralVoice
Identico a Voice
, con delle modifiche per rappresentare un brano in
stile mensurale.
Lyrics
Corrisponde a una voce con testo vocale. Gestisce la stampa di una singola linea di testo vocale.
DrumVoice
Il contesto della voce usato in un rigo per percussioni.
FiguredBass
Il contesto in cui sono creati gli oggetti BassFigure
a partire
dall’input inserito in modalità \figuremode
.
TabVoice
Il contesto della voce usato all’interno di un contesto TabStaff
.
Solitamente omesso così che sia creato implicitamente.
CueVoice
Un contesto della voce usato per rappresentare note a dimensione ridotta, inteso soprattutto per aggiungere citazioni in corpo più piccolo a un rigo, vedi Formattazione delle notine. Solitamente omesso così che sia creato implicitamente.
ChordNames
Crea e dispone i nomi degli accordi.