5.1.5 Modifica delle impostazioni predefinite di un contesto
Le proprietà dei contesti e dei grob possono essere modificate con i comandi
\set e \override, come è spiegato in
Modifica delle proprietà. Questi comandi creano eventi musicali,
rendendo effettivi i cambiamenti nel momento temporale in cui è
elaborata la musica.
Questa sezione spiega invece come cambiare i valori predefiniti delle proprietà dei contesti e dei grob nel momento in cui viene creato il contesto. Esistono due modi per farlo. Uno modifica i valori predefiniti in tutti i contesti di un certo tipo, l’altro modifica i valori predefiniti soltanto in una certa istanza di un contesto.
| Modifica di tutti i contesti dello stesso tipo | ||
| Modifica di un solo contesto specifico | ||
| Ordine di precedenza |
Modifica di tutti i contesti dello stesso tipo
Le impostazioni di contesto predefinite da usare per l’output grafico nei
contesti Score, Staff, Voice e in altri contesti possono
essere specificate in un blocco \context compreso in un qualsiasi
blocco \layout.
Le impostazioni per l’output Midi invece devono essere specificate separatamente
in blocchi \midi (vedi Definizioni di output - gerarchia dei contesti).
Il blocco \layout deve trovarsi all’interno del blocco \score
al quale si vuole applicare, dopo la musica.
\layout {
\context {
\Voice
[impostazioni di contesto per tutti i contesti Voice]
}
\context {
\Staff
[impostazioni di contesto per tutti i contesti Staff]
}
}
Si possono specificare i seguenti tipi di impostazioni:
-
Un comando
\override, ma col nome del contesto omesso\score { \relative { a'4^"Gambi più spessi" a a a a4 a a\ff a } \layout { \context { \Staff \override Stem.thickness = #4.0 } } } -
Impostando direttamente una proprietà di contesto
\score { \relative { a'4^"Tipo di carattere più piccolo" a a a a4 a a\ff a } \layout { \context { \Staff fontSize = #-4 } } } -
Un comando predefinito come
\dynamicUpo un’espressione musicale come\accidentalStyle dodecaphonic\score { \relative { a'4^"Dinamiche sopra" a a a a4 a a\ff a } \layout { \context { \Voice \dynamicUp } \context { \Staff \accidentalStyle dodecaphonic } } } -
Una variabile definita dall’utente contenente un blocco
\with; il blocco\withè spiegato approfonditamente in Modifica di un solo contesto specifico.StaffDefaults = \with { fontSize = #-4 } \score { \new Staff { \relative { a'4^"Tipo di carattere più piccolo" a a a a4 a a a } } \layout { \context { \Staff \StaffDefaults } } }
I comandi che impostano una proprietà possono essere posti in un blocco
\layout senza doverli racchiudere in un blocco \context. Così
facendo si ottiene lo stesso risultato che si otterrebbe se si includessero
gli stessi comandi all’inizio di ogni contesto del tipo specificato. Se non
è specificato alcun contesto, avranno effetto su qualsiasi contesto
di basso livello, vedi Contesti del livello inferiore - voci. La sintassi di
un comando di impostazione della proprietà in un blocco \layout è
identico a quello che si userebbe in mezzo alle note.
\score {
\new Staff {
\relative {
a'4^"Tipo di carattere più piccolo" a a a
a4 a a a
}
}
\layout {
\accidentalStyle dodecaphonic
\set fontSize = #-4
\override Voice.Stem.thickness = #4.0
}
}
Modifica di un solo contesto specifico
Le proprietà di contesto di una sola istanza di un contesto specifico possono
essere cambiate in un blocco \with. Tutte le altre istanze di contesto
dello stesso tipo manterranno le impostazioni predefinite di LilyPond e saranno
modificate da qualsiasi blocco \layout che le riguarda. Il blocco
\with deve essere posto subito dopo il
comando \new tipo-contesto:
\new Staff \with { [impostazioni di contesto per questa istanza di contesto soltanto] }
{
…
}
Altrimenti, se la musica viene inserita usando la forma breve dei comandi
che specificano la modalità di inserimento, per esempio \chords invece di
\chordmode, il comando \with deve essere posto subito dopo il
comando che specifica la modalità:
\chords \with { [impostazioni di contesto per questo contesto (implicito) soltanto] }
{
…
}
perché è il contesto implicito creato da queste forme brevi che deve essere
modificato. Vale la stessa considerazione per le altre forme brevi che
indicano la modalità di inserimento (\drums, \figures), vedi
Modalità di inserimento.
Le ‘modifiche di contesto’, essendo specificate in blocchi \with che
si trovano all’interno della musica, avranno effetto su tutti gli
output (quello grafico e il Midi), diversamente da quanto avviene per
le modifiche inserite in una definizione di output.
Si possono specificare i seguenti tipi di impostazioni:
-
Un comando
\override, ma col nome di contesto omesso\score { \new Staff { \new Voice \with { \override Stem.thickness = #4.0 } { \relative { a'4^"Gambi spessi" a a a a4 a a a } } } } -
Impostando direttamente una proprietà di contesto
\score { << \new Staff { \relative { a'4^"Tipo di carattere predefinito" a a a a4 a a a } } \new Staff \with { fontSize = #-4 } { \relative { a'4^"Tipo di carattere più piccolo" a a a a4 a a a } } >> } -
Un comando predefinito come
\dynamicUp\score { << \new Staff { \new Voice { \relative { a'4^"Dinamiche sotto" a a a a4 a a\ff a } } } \new Staff \with { \accidentalStyle dodecaphonic } { \new Voice \with { \dynamicUp } { \relative { a'4^"Dinamiche sopra" a a a a4 a a\ff a } } } >> }
Vedi anche
Guida alla notazione: Modalità di inserimento
Ordine di precedenza
Il valore di una proprietà da applicare in un certo momento viene determinato nel modo seguente:
-
se un comando
\overrideo\setnel flusso dell’input (le note) è attivo viene usato quel valore, -
altrimenti viene usato il valore predefinito preso da una dichiarazione
\withnella dichiarazione di iniziazione del contesto, -
altrimenti viene usato il valore predefinito preso dal blocco
\contextappropriato più recente nei blocchi\layouto\midi, - altrimenti viene usato il valore predefinito in LilyPond.
Vedi anche
Manuale di apprendimento: Modificare le proprietà di contesto.
Guida alla notazione:
Tutto sui contesti,
Contesti del livello inferiore - voci,
Il comando \set,
Il comando \override,
Il blocco \layout.