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
\dynamicUp
o 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 (see 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
\override
o\set
nel flusso dell’input (le note) è attivo viene usato quel valore, -
altrimenti viene usato il valore predefinito preso da una dichiarazione
\with
nella dichiarazione di iniziazione del contesto, -
altrimenti viene usato il valore predefinito preso dal blocco
\context
appropriato più recente nei blocchi\layout
o\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
.