| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Placement of objects
| 4.4.1 Comportamento automatico | ||
| 4.4.2 Oggetti interni al rigo | ||
| 4.4.3 Oggetti esterni al rigo |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Automatic behavior
Nella notazione musicale, alcuni oggetti appartengono al rigo, altri devono esserne posizionati al di fuori. In LilyPond si chiamano rispettivamente oggetti within-staff (dentro il rigo) e oggetti outside-staff (fuori dal rigo).
Gli oggetti within-staff sono quelli che si trovano nel rigo, come le teste e i gambi delle note, le alterazioni, etc… La loro posizione è determinata perlopiù dalla musica stessa: in verticale sono collocati su determinate posizioni del rigo o sono collegati ad altri oggetti disposti in questo modo. Di norma LilyPond evita automaticamente le collisioni tra teste di nota, gambi e alterazioni in accordi con note ravvicinate. Esistono comunque dei comandi che permettono di modificare questo comportamento automatico, come vedremo tra poco.
Gli oggetti che appartengono allo spazio fuori dal rigo comprendono
gli andamenti, i numeri di chiamata, il testo vocale, le indicazioni dinamiche. Il comportamento di
LilyPond per il posizionamento verticale degli oggetti outside-staff
prevede che questi vengano collocati il più vicino possibile al rigo, mantenendo
però una distanza sufficiente da evitare collisioni con gli altri oggetti. LilyPond
usa la proprietà outside-staff-priority per determinare in quale ordine
gli oggetti siano posizionati.
Per prima cosa LilyPond posiziona tutti gli oggetti within-staff.
Poi ordina gli oggetti outside-staff in base alla loro proprietà
outside-staff-priority. Gli oggetti outside-staff vengono
considerati uno a uno, a partire dall’oggetto che ha il valore più basso
di priorità (outside-staff-priority), e disposti in modo
da non entrare in collisione con alcun oggetto già posizionato.
Questo significa che se due oggetti outside-staff si contendono lo
stesso spazio, quello col valore più basso di outside-staff-priority
sarà più vicino al rigo. Se due oggetti presentano lo stesso valore per
outside-staff-priority, quello incontrato per primo viene posizionato
più vicino al rigo.
Nell’esempio seguente tutti i testi hanno la stessa priorità (perché questa non è impostata in modo esplicito). Come puoi vedere, ‘Testo3’ è di nuovo posto automaticamente in prossimità del rigo, infilato sotto ‘Testo2’.
c''2^"Testo1" c''2^"Testo2" | c''2^"Testo3" c''2^"Testo4" |
Di norma, anche i righi sono collocati quanto più possibile ravvicinati (ma con una distanza minima). Se delle note si estenderanno molto al di fuori del rigo, fino a quello adiacente, costringeranno i righi a distanziarsi solo in caso di sovrapposizione degli elementi della notazione. L’esempio seguente mostra questo ‘annidamento’ delle note su righi adiacenti:
<< \new Staff { \relative { c'4 a, } } \new Staff { \relative { c''''4 a, } } >>
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Within-staff objects
Abbiamo già visto come i comandi \voiceXXX influenzino
la direzione di legature di portamento e di valore, delle diteggiature e
di qualsiasi altro elemento che dipenda dalla direzione dei gambi (vedi
Definire esplicitamente le voci).
Questi comandi sono fondamentali quando si scrive musica polifonica,
perché permettono di distinguere le linee melodiche che si intrecciano.
Talvolta, però, capita di voler modificare questo comportamento
automatico. Si può fare per intere sezioni musicali o anche per
una singola nota. La proprietà che controlla questo comportamento
è la proprietà direction di ogni oggetto di formattazione.
Spieghiamo prima che cosa fa e poi presentiamo alcuni comandi
già pronti, che ti eviteranno di dover scrivere sovrascritture
esplicite per le modifiche più comuni.
Alcuni oggetti di formattazione, come le legature di portamento e di
valore, si incurvano, si piegano o puntano verso l’alto o il basso; altri,
come i gambi e le code, a seconda dell’orientamento si dispongono anche sulla
destra o sulla sinistra. Tutto questo viene controllato automaticamente
quando si imposta la proprietà direction.
La proprietà direction | ||
| Diteggiatura |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
direction@translationof The direction property
L’esempio seguente mostra il posizionamento predefinito delle legature di portamento nella prima battuta, con legature che iniziano sulle note alte poste sopra le note e quelle che iniziano sulle note basse posizionate sotto, seguita da una battuta con entrambe le legature forzate verso il basso, un’altra battuta con entrambe le legatura forzate verso l’alto e infine una battuta con entrambe le legature ripristinate al comportamento predefinito.
a'4( g') c''( a') | \override Slur.direction = #DOWN a'4( g') c''( a') | \override Slur.direction = #UP a'4( g') c''( a') | \revert Slur.direction a'4( g') c''( a') |
Abbiamo usato le costanti DOWN (giù) e UP (su).
Queste hanno rispettivamente i valori -1 e +1, ed
è possibile usare tali valori numerici al loro posto. In alcuni casi
si può usare anche il valore 0, che significa UP per le
legature di portamento, ma per alcuni oggetti significa ‘center’ (centro).
Esiste una costante, CENTER che ha valore 0.
Tuttavia queste sovrascritture esplicite solitamente non vengono usate, perché ci sono dei comandi predefiniti equivalenti e più semplici. Ecco una tabella con quelli più utilizzati; il significato di ognuno è esplicitato laddove non è ovvio.
| Giù/Sinistra | Su/Destra | Ripristina | Effetto |
|---|---|---|---|
\arpeggioArrowDown | \arpeggioArrowUp | \arpeggioNormal | Aggiunge una freccia in fondo, in cima o toglie la freccia |
\dotsDown | \dotsUp | \dotsNeutral | Direzione dello spostamento per evitare le linee del rigo |
\dynamicDown | \dynamicUp | \dynamicNeutral | |
\phrasingSlurDown | \phrasingSlurUp | \phrasingSlurNeutral | Nota: è diverso dai comandi slur |
\slurDown | \slurUp | \slurNeutral | |
\stemDown | \stemUp | \stemNeutral | |
\textSpannerDown | \textSpannerUp | \textSpannerNeutral | Il testo inserito come oggetto estensore (spanner) va sotto/sopra il rigo |
\tieDown | \tieUp | \tieNeutral | |
\tupletDown | \tupletUp | \tupletNeutral | I gruppi irregolare sono sotto/sopra le note |
Le varianti neutral/normal di questi comandi usano \revert e queste
non possono essere precedute da \once. Se desideri limitare
l’effetto degli altri comandi (che usano \override) a un singolo
momento temporale, devi farli precedere da \once come faresti con
delle sovrascritture esplicite.
Oppure, se solo un oggetto della formattazione deve essere forzato verso
l’alto o verso il basso, si possono usare gli indicatori di
direzione, ^ o _:
a'4( g') c''( a') | a'4^( g') c''_( a') |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Fingering
Anche il posizionamento della diteggiatura sulle singole note può essere
controllato dalla proprietà direction, ma la modifica di direction
non produce effetti sugli accordi. Come vedremo, ci sono comandi specifici
che permettono di controllare la diteggiatura delle singole note degli
accordi, col segno di diteggiatura posizionato sopra, sotto, a sinistra
o a destra di ogni nota.
Vediamo innanzitutto l’effetto di direction sulla diteggiatura
attaccata alle singole note. La prima battuta mostra il comportamento
predefinito e le due battute successive mostrano gli effetti dei valori
DOWN e UP:
\relative { c''4-5 a-3 f-1 c'-5 | \override Fingering.direction = #DOWN c4-5 a-3 f-1 c'-5 | \override Fingering.direction = #UP c4-5 a-3 f-1 c'-5 | }
Tuttavia sovrascrivere la proprietà direction non è il modo
più semplice di definire a mano la diteggiatura sopra o sotto
le note; di solito è preferibile usare _ o ^ invece di -
prima del numero della diteggiatura. Ecco l’esempio precedente riscritto
usando questo metodo:
\relative { c''4-5 a-3 f-1 c'-5 | c4_5 a_3 f_1 c'_5 | c4^5 a^3 f^1 c'^5 | }
La proprietà direction viene ignorata negli accordi, ma i
prefissi direzionali, _ e ^ funzionano. Per impostazione
predefinita, la diteggiatura viene disposta automaticamente sopra e
sotto le note di un accordo:
\relative { <c''-5 g-3>4 <c-5 g-3 e-2>4 <c-5 g-3 e-2 c-1>4 }
ma può essere sovrascritta per forzare manualmente in su o in giù tutti o alcuni dei singoli numeri della diteggiatura:
\relative { <c''-5 g-3 e-2 c-1>4 <c^5 g_3 e_2 c_1>4 <c^5 g^3 e^2 c_1>4 }
È possibile avere un controllo ancora maggiore sulla disposizione della
diteggiatura delle singole note di un accordo usando il comando
\set fingeringOrientations. Il formato di questo comando è:
\set fingeringOrientations = #'([up] [left/right] [down]) |
Si usa \set perché fingeringOrientations è una
proprietà del contesto Voice, creato e usato dall’incisore
New_fingering_engraver.
Questa proprietà accetta come valori una lista comprendente da uno a tre elementi.
Stabilisce se la diteggiatura debba essere posizionata sopra (se nella
lista c’è up), sotto (se c’è down), a sinistra (se c’è
left) o a destra (se c’è right). Nel caso vengano inseriti valori
non accettati dalla lista, non sarà invece collocata alcuna diteggiatura. LilyPond
prende in considerazione questi limiti e trova la migliore disposizione per
la diteggiatura delle note degli accordi che seguono. Nota che left e
right si escludono a vicenda – la diteggiatura può essere posta
solo da un lato o dall’altro, non da entrambi.
Nota: Per controllare la posizione della diteggiatura di una singola nota con questo comando bisogna scrivere la nota come un accordo con una nota sola, ovvero racchiuderla tra parentesi angolari.
Ecco alcuni esempi:
\relative { \set fingeringOrientations = #'(left) <f'-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4 }
Se la diteggiatura appare eccessivamente fitta, si può ridurre la dimensione del
tipo di carattere modificando la proprietà font-size. Si può vedere
nell’oggetto Fingering della guida al Funzionamento interno che il
valore predefinito di tale proprietà è -5, dunque proviamo
con -7:
\relative { \override Fingering.font-size = #-7 \set fingeringOrientations = #'(left) <f'-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(up left down) <f-2>4 <c-1 e-2 g-3 b-5>4 \set fingeringOrientations = #'(up left) <f-2>4 <c-1 e-2 g-3 b-5>4 | \set fingeringOrientations = #'(right) <f-2>4 <c-1 e-2 g-3 b-5>4 }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Outside-staff objects
Gli oggetti esterni al rigo sono disposti automaticamente in modo da evitare collisioni. Ci sono vari modi per modificare la disposizione automatica se questa non è ottimale.
La proprietà outside-staff-priority | ||
Il comando \textLengthOn | ||
| Posizionamento delle dinamiche | ||
| Dimensione dei grob |
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
outside-staff-priority@translationof The outside-staff-priority property
Gli oggetti dai valori più bassi per la proprietà
outside-staff-priority vengono posizionati più vicino al rigo,
mentre gli altri oggetti esterni al rigo vengono distanziati quanto
basta per evitare collisioni. La proprietà outside-staff-priority è
definita nell’interfaccia grob-interface ed è quindi una proprietà di
tutti gli oggetti di formattazione. Il valore predefinito è #f per
tutti gli oggetti interni al rigo e un valore numerico appropriato, determinato
al momento della creazione dell’oggetto, per ogni oggetto esterno al rigo. La
seguente tabella mostra i valori numerici predefiniti di alcuni dei più comuni
oggetti esterni al rigo.
Si notino i nomi insoliti di alcuni oggetti: gli oggetti estensori (spanner)
sono creati automaticamente per controllare la disposizione verticale dei
grob che (potrebbero) iniziare e finire in diversi momenti musicali, quindi
la modifica della proprietà outside-staff-priority del grob sottostante
non produrrebbe alcun effetto. Ad esempio, la modifica di
outside-staff-priority dell’oggetto Hairpin non avrà alcun
effetto sulla disposizione verticale delle forcelle. Occorre invece modificare
la proprietà outside-staff-priority dell’oggetto associato
DynamicLineSpanner. Questa sovrascrittura deve essere posta
all’inizio dell’estensore, che potrebbe includere più forcelle e indicazioni dinamiche
tra loro collegate.
| Oggetto di formattazione | Priorità | Controlla la posizione di: |
|---|---|---|
RehearsalMark | 1500 | Numeri di chiamata (e oggetti di testo analoghi) |
MetronomeMark | 1000 | Indicazioni metronomiche |
SostenutoPedalLineSpanner | 1000 | Indicazione del pedale |
SustainPedalLineSpanner | 1000 | |
UnaCordaPedalLineSpanner | 1000 | |
MeasureCounter | 750 | Numero della misura |
VoltaBracketSpanner | 600 | Delimitatori dei finali alternativi delle ripetizioni |
InstrumentSwitch | 500 | Testo per il cambio di strumento |
TextScript | 450 | Oggetti di testo |
MultiMeasureRestText | 450 | Testi sopra pause multiple |
CombineTextScript | 450 | Testo per il combinatore delle parti |
OttavaBracket | 400 | Estensioni del segno d’ottava |
TextSpanner | 350 | Estensori del testo |
DynamicLineSpanner | 250 | Tutte le indicazioni dinamiche |
BarNumber | 100 | Numeri di battuta |
TrillSpanner | 50 | Linee ondulate del trillo |
AccidentalSuggestion | 0 | Alterazioni con nota |
Ecco un esempio che mostra il posizionamento predefinito di alcuni di questi oggetti.
% Imposta i dettagli per l'estensore del testo seguente \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Posiziona le dinamiche sopra il rigo \dynamicUp % Inizia la parentesi dell'ottava \ottava #1 c''4 \startTextSpan % Aggiunge il testo della dinamica e la forcella c''4\pp\< c''4 % Aggiunge la scritta testuale c''4^Text | c''4 c'' % Aggiunge il testo della dinamica e termina la forcella c''4\ff c'' \stopTextSpan | % Chiude la parentesi dell'ottava \ottava #0 c'4 c' c' c' |
Questo esempio mostra anche come creare gli estensori (spanner) del testo,
ovvero testo con delle linee che si estendono sopra una sezione musicale.
L’estensore si allunga dal comando \startTextSpan fino al comando
\stopTextSpan e il formato del testo è definito dal comando
\override TextSpanner. Per maggiori dettagli si veda
(notation)Estensori del testo section ‘Estensori del testo’ in Guida alla Notazione.
Mostra anche come si creano le estensioni del segno d’ottava.
Se i valori predefiniti di outside-staff-priority non producono
il posizionamento desiderato, è possibile sovrascrivere la priorità di
qualsiasi oggetto. Immaginiamo di voler posizionare l’estensione del segno d’ottava
sotto l’estensore del testo nell’esempio precedente. Basta controllare la
priorità dell’oggetto OttavaBracket nella guida al Funzionamento interno
o nella tabella precedente e ridurla a un valore inferiore di quello di un
oggetto TextSpanner, ricordando che OttavaBracket è creato
nel contesto Staff:
% Imposta i dettagli per l'estensore del testo seguente \override TextSpanner.bound-details.left.text = \markup { \small \bold Slower } % Posiziona le dinamiche sopra il rigo \dynamicUp % Inizia la parentesi dell'ottava \ottava #1 c''4 \startTextSpan % Aggiunge il testo della dinamica e la forcella c''4\pp\< c''4 % Aggiunge la scritta testuale c''4^Text | c''4 c'' % Aggiunge il testo della dinamica e termina la forcella c''4\ff c'' \stopTextSpan | % Chiude la parentesi dell'ottava \ottava #0 c'4 c' c' c' |
Si noti che alcuni di questi oggetti, in particolare i numeri di
battuta, i segni di metronomo e i numeri di chiamata, si trovano nel
contesto Score; dunque, assicurati di richiamare il contesto
giusto per sovrascriverli.
Le legature di portamento sono classificate come oggetti interni al rigo, anche
se spesso sono poste sopra il rigo, se le note alle quali sono collegate si
trovano nella parte superiore del pentagramma. Questo può far sì che gli oggetti esterni al rigo,
come le articolazioni, siano spinti troppo in alto, dato che la legatura viene
posizionata prima. La proprietà avoid-slur dell’articolazione
può essere impostata su 'inside per portare l’articolazione
dentro la legatura, ma la proprietà avoid-slur funziona solo se anche
outside-staff-priority è impostata su #f.
Altrimenti, si può impostare la proprietà outside-staff-priority della
legatura di portamento su un valore numerico, in modo che sia posizionata
insieme ad altri oggetti esterni al rigo in base a quel valore. Ecco un
esempio che mostra l’effetto dei due metodi:
\relative c'' { c4( c^\markup { \tiny \sharp } d4.) c8 | c4( \once \override TextScript.avoid-slur = #'inside \once \override TextScript.outside-staff-priority = ##f c4^\markup { \tiny \sharp } d4.) c8 | \once \override Slur.outside-staff-priority = #500 c4( c^\markup { \tiny \sharp } d4.) c8 | }
Attraverso la proprietà outside-staff-priority si può
regolare anche la disposizone verticale di singoli oggetti;
i risultati potrebbero tuttavia risultare non sempre ottimali. Supponiamo
di voler posizionare “Testo3” sopra “Testo4” nell’esempio
precedente (si veda Comportamento automatico).
Basta andare a cercare la priorità di TextScript nella
guida al Funzionamento interno o nelle tabelle precedenti e
aumentare la priorità di “Testo3” assegnando un valore più alto:
c''2^"Testo1" c''2^"Testo2" | \once \override TextScript.outside-staff-priority = #500 c''2^"Testo3" c''2^"Testo4" |
Questo ovviamente pone “Testo3” sopra “Testo4”, ma anche
sopra “Testo2”, mentre “Testo4” si sposta più in basso. Forse questo
risultato non ci soddisfa: vorremmo piuttosto collocare
tutti i testi alla stessa distanza dal rigo. Per riuscirci,
naturalmente, dobbiamo creare più spazio orizzontale tra le note per
far posto al testo. Lo si può ottenere con il comando
textLengthOn.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
\textLengthOn@translationof The textLengthOn command
Per impostazione predefinita, finché si tratta di formattare la musica il
testo prodotto dal comando \markup non occupa uno spazio orizzontale.
Il comando \textLengthOn inverte questo comportamento e fa sì che
le note si distanzino quanto basti per introdurre il testo:
% Fa sì che le note si distanzino per introdurre il testo \textLengthOn c''2^"Text1" c''2^"Text2" | c''2^"Text3" c''2^"Text4" |
Il comando che ripristina il comportamento predefinito è
\textLengthOff. Altrimenti si può usare \once
con \textLengthOn se l’effetto deve essere limitato
a un singolo momento musicale.
Analogalmente, la spaziatura per i segni di chiamata e le indicazioni
di tempo è regolata in modo indipendente con i comandi \markLengthOn
e \markLengthOff.
Per parte sua, anche il testo a margine eviterà le note che si estendono sopra il
rigo. Se lo si vuole evitare, la disposizione automatica in alto può
essere disattivata impostando la priorità su #f. Ecco un esempio
che mostra come il testo a margine interagisce con tali note.
\relative { % Questo testo è abbastanza corto per starci senza creare collisioni c2^"Tes" c'' | R1 | % Questo è troppo lungo per starci, quindi è spostato più in alto c,,2^"Testo" c'' | R1 | % Disattiva l'elusione delle collisioni \once \override TextScript.outside-staff-priority = ##f c,,2^"Testo Lungo " c'' | R1 | % Disattiva l'elusione delle collisioni \once \override TextScript.outside-staff-priority = ##f \textLengthOn % e attiva textLengthOn c,,2^"Testo Lungo " % Gli spazi finali vengono rispettati c''2 | }
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Dynamics placement
Le indicazioni dinamiche sono di norma poste sotto il
rigo, ma possono essere collocati al di sopra del pentagramma col comando \dynamicUp.
Vengono posizionati verticalmente rispetto alla figura cui
si riferiscono e fluttuano sopra (o sotto) tutti gli oggetti
interni al rigo come le legature di fraseggio e i numeri di battuta.
Si ottengono risultati abbastanza accettabili, come dimostra
questo esempio:
\relative { \clef "bass" \key aes \major \time 9/8 \dynamicUp bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! | ees,2.~\)\mf ees4 r8 | }
Tuttavia, se le note e le loro dinamiche sono molto vicine, la disposizione automatica eviterà le collisioni spostando più all’esterno i segni di dinamica successivi. Questo potrebbe non essere però il posizionamento migliore, come mostra questo esempio piuttosto improbabile:
\dynamicUp \relative { a'4\f b\mf a\mp b\p }
Se si dovesse presentare una situazione simile in un ‘vero’ brano musicale,
converrebbe distanziare un po’ di più le note, in modo che i segni di dinamica
possano essere tutti collocati alla stessa distanza verticale dal rigo. Abbiamo
potuto farlo per il testo a margine usando il comando \textLengthOn,
ma non esiste un comando equivalente per i segni di dinamica. Dunque
dovremo scoprire come farlo usando i comandi \override.
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] | [Inizio] | [Contenuti] | [Indice] | [ ? ] |
@translationof Grob sizing
Dobbiamo innanzitutto sapere come i grob occupano lo spazio. Tutti i grob
hanno al loro interno un punto di riferimento che viene usato
per posizionarli in modo relativo all’oggetto genitore da cui derivano. Questo
punto nel grob viene poi disposto a una distanza orizzontale,
X-offset, e a una distanza verticale, Y-offset, dall’oggetto
genitore. L’estensione (extent) orizzontale dell’oggetto è data da una
coppia di numeri, X-extent, che indica dove si trovano i margini
sinistro e destro rispetto al punto di riferimento. L’ampiezza verticale
è ugualmente definita da una coppia di numeri, Y-extent.
Queste proprietà appartengono a tutti i grob che supportano l’interfaccia
grob-interface.
Per impostazione predefinita, gli oggetti esterni al rigo presentano estensione
pari a zero, in modo da potersi sovrapporre nella direzione orizzontale.
Ciò si ottiene con un trucco, ovvero dando un valore infinito all’estensione
sinistra e infinito negativo a quella destra, impostando la proprietà
extra-spacing-width su '(+inf.0 . -inf.0). Per
assicurarci che non si sovrappongano nella direzione orizzontale, dobbiamo
sovrascrivere il valore di extra-spacing-width per dar loro un po’ più
di spazio. Le unità sono lo spazio tra due linee del rigo, dunque spostare
il margine sinistro di mezza unità a sinistra e quello destro di mezza unità
a destra dovrebbe dare il risultato desiderato:
\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) |
Vediamo se funziona nell’esempio precedente:
\dynamicUp % Aumenta la larghezza di 1 spazio rigo \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) \relative { a'4\f b\mf a\mp b\p }
L’aspetto è migliore, ma sarebbe preferibile avere i segni di dinamica
allineati alla stessa linea di base invece di spostarsi su e giù seguendo
la posizione delle note. La proprietà che permette di ottenere tale
risultato è staff-padding ed è trattata nella sezione relativa
alle collisioni (vedi Collisioni tra oggetti).
| [ < ] | [ > ] | [ << ] | [ Su ] | [ >> ] |
This document was generated by gub on Luglio 13, 2020 using texi2html 1.82.
Altre lingue: English, català, česky, deutsch, español, français, 日本語, nederlands.
A proposito della selezione automatica della lingua.