Guida alla Notazione di LilyPond: 5.1.1 Tutto sui contesti

### 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.

#### LilyPond — Guida alla Notazione v2.24.4 (ramo stabile).