Uso di break-visibility
La maggior parte degli oggetti della formattazione sono stampati una
volta sola, ma alcuni come le stanghette, le chiavi, le indicazioni
di tempo e le armature di chiave possono dover essere stampate
due volte quando si verifica un’interruzione di linea – una volta al
termine della linea e di nuovo all’inizio della linea successiva.
Tali oggetti, chiamati spezzabili, (dall’inglese breakable)
hanno una proprietà, break-visibility
, per regolare
la loro visibilità nelle tre posizioni in cui potrebbero apparire:
all’inizio di una linea, in mezzo a una linea se vengono modificati
e al termine di una linea se un cambiamento ha luogo lì.
Per esempio, l’indicazione di tempo viene stampata all’inizio della prima linea, ma da nessuna altra parte a meno che non cambi e allora verrà stampata nel punto in cui il cambiamento ha luogo. Se tale cambiamento si verifica al termine di una linea, la nuova indicazione di tempo verrà stampata all’inizio della linea successiva e un’indicazione di tempo di precauzione verrà stampata anche al termine della linea precedente.
Tale comportamento è regolato dalla proprietà break-visibility
, che
è spiegata in Visibilità e colore degli oggetti. Questa proprietà
prende un vettore di tre valori booleani che, in ordine, determinano se
l’oggetto è stampato al termine, in mezzo o all’inizio di una linea. O, per
essere più precisi, prima di un’interruzione di linea, dove non c’è
un’interruzione di linea oppure dopo un’interruzione di linea.
Altrimenti, queste otto combinazoni possono essere specificate da funzioni predefinite, definite in scm/output-lib.scm, dove le ultime tre colonne indicano se gli oggetti della formattazione saranno visibili nelle posizioni mostrate nell’intestazione delle colonne:
Funzione Forma Prima di Senza Dopo vettoriale interruzione interruzione interruzione all-visible
#(#t #t #t)
sì sì sì begin-of-line-visible
#(#f #f #t)
no no sì center-visible
#(#f #t #f)
no sì no end-of-line-visible
#(#t #f #f)
sì no no begin-of-line-invisible
#(#t #t #f)
sì sì no center-invisible
#(#t #f #t)
sì no sì end-of-line-invisible
#(#f #t #t)
no sì sì all-invisible
#(#f #f #f)
no no no
Le impostazioni predefinite di break-visibility
dipendono dall’oggetto
della formattazione. La tabella seguente mostra tutti gli oggetti rilevanti
che sono influenzati da break-visibility
e l’impostazione predefinita
di questa proprietà:
Oggetto formattazione Contesto abituale Impostazione predefinita BarLine
Score
calcolato BarNumber
Score
begin-of-line-visible
BreathingSign
Voice
begin-of-line-invisible
Clef
Staff
begin-of-line-visible
Custos
Staff
end-of-line-visible
DoublePercentRepeat
Voice
begin-of-line-invisible
KeyCancellation
Staff
begin-of-line-invisible
KeySignature
Staff
begin-of-line-visible
ClefModifier
Staff
begin-of-line-visible
RehearsalMark
Score
end-of-line-invisible
TimeSignature
Staff
all-visible
L’esempio successivo mostra l’uso della forma vettoriale per regolare la visibilità delle stanghette:
\relative { f'4 g a b f4 g a b % Toglie la stanghetta al termine della linea corrente \once \override Score.BarLine.break-visibility = ##(#f #t #t) \break f4 g a b f4 g a b }
Sebbene tutti i componenti del vettore usati per sovrascrivere
break-visibility
debbano essere presenti, non tutti sono
funzionanti con qualsiasi oggetto della formattazione, e alcune
combinazioni potrebbero perfino dare errore. Esistono le seguenti
limitazioni:
- Non è possibile stampare le stanghette all’inizio di una linea.
- Un numero di battuta non può essere stampato all’inizio della prima
linea a meno che non sia impostato per essere diverso da
1
. - Clef – vedi la sezione successiva.
- Le ripetizioni percentuali doppie sono o tutte stampate o
tutte soppresse.
Usare
begin-of-line-invisible
per stampare eall-invisible
per sopprimere. - Key signature – vedi la sezione successiva.
- ClefModifier – vedi la sezione successiva.