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:

FunzioneFormaPrima diSenzaDopo
vettorialeinterruzioneinterruzioneinterruzione
all-visible#(#t #t #t)
begin-of-line-visible#(#f #f #t)nono
center-visible#(#f #t #f)nono
end-of-line-visible#(#t #f #f)nono
begin-of-line-invisible#(#t #t #f)no
center-invisible#(#t #f #t)no
end-of-line-invisible#(#f #t #t)no
all-invisible#(#f #f #f)nonono

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 formattazioneContesto abitualeImpostazione predefinita
BarLineScorecalcolato
BarNumberScorebegin-of-line-visible
BreathingSignVoicebegin-of-line-invisible
ClefStaffbegin-of-line-visible
CustosStaffend-of-line-visible
DoublePercentRepeatVoicebegin-of-line-invisible
KeyCancellationStaffbegin-of-line-invisible
KeySignatureStaffbegin-of-line-visible
ClefModifierStaffbegin-of-line-visible
RehearsalMarkScoreend-of-line-invisible
TimeSignatureStaffall-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
}

[image of music]

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:


Guida alla Notazione di LilyPond v2.25.15 (ramo di sviluppo).