Ús de break-visibility (visibilitat al salt)

Gairebé tots els objecte de presentació s’imprimeixen un sol cop, però alguns com les línies divisòries, les claus, les indicacions de compàs i armadures de tonalitat, es poden haver d’imprimir dos cops quan es produeix un salt de línia: un cop al final de la línia i un altre al començament de la següent. Aquests objectes reben el nom de divisibles, y tenen una propietat, break-visibility (visibilitat al salto), per controlar la seva visibilitat a les tres posicions en les quals pot aparèixer: al començament d’una línia, dins de la línia si es produeix un canvi, i al final de la línia si el canvi es produeix en aquest lloc.

Per exemple, la indicació de compàs s’imprimeix de forma predeterminada al començament de la primera línia i en cap altre lloc a no ser que es canviï, i en aquest cas s’imprimeix al punt en el qual es produeix el canvi. Si aquest canvi es produeix al final d’una línia, la nova indicació de compàs s’imprimeix al principi de la línia següent i també al final de la línia anterior com indicació de precaució.

Aquest comportament es controla per mitjà de la propietat break-visibility, que s’explica a Visibilitat i color dels objectes. Aquesta propietat agafa un vector de tres valors booleans que, per ordre, determinen si l’objecte s’imprimeix al final, a dins, o al principi de la línia. O, per ser més exactes: abans del salt de línia, si no hi ha salta, o després del salt.

Com alternativa es pot especificar qualssevol de les vuit combinacions mitjançant funcions predefinides la definició de les qual està a scm/output-lib.scm, on les tres últimes columnes indiquen si els objectes de presentació seran visibles a les posicions que es mostren a l’encapçalament de cada columna:

FormaFormaAbans delSi no hi haDesprés del
de funcióde vectorsaltsaltsalt
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

Els ajustaments predeterminats de break-visibility depenen de l’objecte de presentació. La taula següent mostra tots els objectes de presentació d’interès que resulten afectats per break-visibility i l’ajustament predeterminat d’aquesta propietat:

ObjecteContext usualValor predet.
BarLineScorecalculat
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’exemple de sota mostra l’ús de la forma de vector per controlar la visibilitat de les línies divisòries:

\relative {
  f'4 g a b
  f4 g a b
  % Elimina la línia de compàs al final de la línia actual
  \once \override Score.BarLine.break-visibility = ##(#f #t #t)
  \break
  f4 g a b
  f4 g a b
}

[image of music]

Tot i que els tres components del vector utilitzar per sobreescriure break-visibility han d’estar presents, no tots són efectius per tots els objectes de presentació, i algunes combinacions poden fins i tot donar errors. S’apliquen les limitacions següents:


Referència de la notació del GNU LilyPond v2.25.15 (branca de desenvolupament).