[ << Modifica dell'output ] | [Inizio][Contenuti][Indice] | [ Modelli >> ] |
[ < La proprietà color ] | [ Su : Aspetto degli oggetti ] | [ Lunghezza e spessore degli oggetti > ] |
5.3.2 Dimensione degli oggetti
Iniziamo rivedendo l’esempio precedente (vedi Annidare le espressioni musicali) che mostrava come inserire un nuovo rigo temporaneo, come in un ossia.
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" } { f8 f c } >> r4 | } }
Gli ossia di norma vengono scritti senza chiave e senza indicazione di
tempo e hanno solitamente una dimensione leggermente inferiore a
quella del rigo principale. Sappiamo già come togliere la chiave e
il segno di tempo, cioè impostando semplicemente la proprietà stencil di
ciascun oggetto su #f
, così:
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" } { \omit Staff.Clef \omit Staff.TimeSignature { f8 f c } } >> r4 | } }
dove l’ulteriore coppia di parentesi dopo il blocco \with
è
necessaria perché le sovrascritture e la musica racchiusi
siano applicati al rigo dell’ossia.
Ma qual è la differenza tra modificare il contesto del rigo con
\with
e modificare la proprietà stencil della chiave e
del segno di tempo con \override
o in questo caso \omit
? La
principale differenza è che le modifiche inserite in un blocco \with
vengono applicate nel momento in cui viene creato il contesto e permangono
come valori predefiniti per la durata di quel contesto, mentre i
comandi \set
o \override
incorporati nel blocco
della musica sono dinamici – le loro modifiche sono sincronizzate
con un punto preciso della musica. Se le modifiche sono disattivate o
ripristinate con \unset
o \revert
tornano ai valori
stabiliti nel blocco \with
o, in mancanza di impostazioni
al suo interno, a quelli predefiniti.
Alcune proprietà di contesto possono essere modificate solo nei blocchi
\with
. Si tratta di quelle proprietà che non si possono
modificare in seguito alla creazione del contesto. alignAboveContext
e
alignBelowContext
sono due di esse: dopo la creazione
del rigo il suo allineamento è fissato, e non ha
senso tentare di cambiarlo successivamente.
I valori predefiniti delle proprietà degli oggetti di formattazione possono
essere definiti anche nei blocchi \with
. Basta usare il normale comando
\override
senza specificare il nome del contesto, dato che questo è
definito senza ambiguità come il contesto che il blocco \with
sta
modificando. Anzi, viene generato un errore se si specifica un contesto
in questa situazione.
Dunque possiamo sostituire l’esempio precedente con
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" % Nasconde le chiavi di questo rigo \override Clef.stencil = ##f % Nasconde le indicazioni di tempo di questo rigo \override TimeSignature.stencil = ##f } { f8 f c } >> r4 | } }
Si possono usare anche le scorciatoie \hide
e \omit
per
impostare la proprietà transparent
e togliere lo stencil
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" % Nasconde le chiavi di questo rigo \omit Clef % Nasconde le indicazioni di tempo di questo rigo \omit TimeSignature } { f8 f c } >> r4 | } }
Infine arriviamo a modificare la dimensione degli oggetti di formattazione.
Alcuni oggetti di formattazione sono dei glifi scelti da un tipo di
carattere. Ad esempio le teste di nota, le alterazioni, le annotazioni,
le chiavi, le indicazioni di tempo, le dinamiche, il testo vocale. La loro dimensione
varia se si modifica la proprietà font-size
, come vedremo a
breve. Altri oggetti di formattazione come le legature di portamento e
di valore – in generale, tutti gli oggetti estensori (spanner) – vengono
disegnati individualmente, dunque non esiste un font-size
a loro
associato. Questi oggetti generalmente derivano la loro dimensione dagli
oggetti a cui sono connessi, quindi di solito non è necessario modificare
la loro dimensione a mano. Altre proprietà, come la lunghezza dei gambi
e delle stanghette, lo spessore delle travature e di altre linee e la
separazione delle linee del rigo, devono essere modificate in modi speciali.
Tornando all’esempio dell’ossia, proviamo prima a cambiare font-size.
Possiamo farlo in due modi. Possiamo modificare la dimensione dei
tipi di carattere di ogni tipo di oggetto, come le teste di nota
(NoteHead
) con un comando di questo tipo
\override NoteHead.font-size = #-2
oppure possiamo modificare la dimensione di tutti i tipi di carattere usando
una proprietà speciale, fontSize
, con \set
oppure includendola
in un blocco \with
(ma senza \set
).
\set fontSize = #-2
Entrambe queste dichiarazioni fanno sì che la dimensione del tipo di carattere sia ridotta di due unità rispetto al valore precedente, dove ogni unità riduce o aumenta la dimensione di circa il 12%.
Proviamolo nel nostro esempio dell’ossia:
\new Staff ="main" { \relative { r4 g'8 g c4 c8 d | e4 r8 << { f8 c c } \new Staff \with { alignAboveContext = "main" \omit Clef \omit TimeSignature % Riduce la dimensione di tutti i tipi di carattere di circa il 24% fontSize = #-2 } { f8 f c } >> r4 | } }
L’esempio non è ancora a posto. Le teste di nota e le code sono più piccole, ma in proporzione i gambi sono troppo lunghi e le linee del rigo sono troppo separate. Dovrebbero essere scalati in proporzione alla riduzione del tipo di carattere. La prossima sezione spiega come farlo.
[ << Modifica dell'output ] | [Inizio][Contenuti][Indice] | [ Modelli >> ] |
[ < La proprietà color ] | [ Su : Aspetto degli oggetti ] | [ Lunghezza e spessore degli oggetti > ] |