Uso di line-spanner-interface

Gli oggetti che supportano l’interfaccia line-spanner-interface comprendono:

La routine responsabile del disegno di questi estensori è ly:line-spanner::print. Essa determina la posizione esatta delle due estremità e disegna una linea tra di esse, nello stile richiesto. Le posizioni delle due estremità dell’estensore sono calcolate al volo, ma è possibile sovrascrivere le loro coordinate Y. Le proprietà da specificare sono annidate di due livelli nella gerarchia della proprietà, ma la sintassi del comando \override è piuttosto semplice:

e''2 \glissando b'
\once \override Glissando.bound-details.left.Y = #3
\once \override Glissando.bound-details.right.Y = #-2
e''2 \glissando b'

[image of music]

Le unità di misura della proprietà Y sono gli spazi rigo (staff-space), con la linea centrale del rigo che è il punto zero. Per il glissando, questo è il valore per Y alla coordinata X che corrisponde al punto centrale della testa di ogni nota, se si immagina che la linea si estenda fino a là.

Se Y non è impostato, il valore viene calcolato dalla posizione verticale del punto di attacco corrispondente dell’estensore.

In caso di un’interruzione di linea, i valori per le estremità sono specificati dalle sottoliste left-broken e right-broken di bound-details. Per esempio:

\override Glissando.breakable = ##t
\override Glissando.bound-details.right-broken.Y = #-3
c''1 \glissando \break
f''1

[image of music]

Altre proprietà delle sottoliste left e right della proprietà bound-details possono essere modificate nello stesso modo di Y:

Y

Questa imposta la coordinata Y dell’estremità, che si sposta di un certo numero di staff-space dalla linea centrale del rigo. Per impostazione predefinita, è il centro dell’oggetto a cui è associato, dunque un glissando punta al centro verticale della testa di nota.

Nel caso di estensori orizzontali, come quelli del testo e del trillo, il suo valore è fisso su 0.

attach-dir

Questa determina dove la linea inizia e termina nella direzione X, relativa all’oggetto a cui è associato. Quindi un valore di -1 (o LEFT) fa sì che la linea inizi/termini sul lato sinistro della testa della nota a cui è attaccata.

X

Questa è la coordinata X assoluta dell’estremità. Viene solitamente calcolata al volo e sovrascriverla produce solitamente un effetto poco utile.

stencil

Gli estensori della linea possono avere dei simboli all’inizio o alla fine, contenuti in questa sottoproprietà. Questa proprietà è per uso interno; si raccomanda di usare text al suo posto.

text

Questo è un testo markup che viene valutato per produrre lo stampo (stencil, in inglese). Viene usato per mettere cresc., tr e altro testo su estensori orizzontali.

\override TextSpanner.bound-details.left.text
   = \markup { \small \bold Rall. }
\relative { c''2\startTextSpan b c a\stopTextSpan }

[image of music]

stencil-align-dir-y
stencil-offset

Se non si imposta una di queste proprietà, lo stampo viene messo semplicemente all’estremità, centrato sulla linea, come definito nelle sottoproprietà X e Y. Impostando stencil-align-dir-y o stencil-offset il simbolo si sposterà verticalmente sul margine rispetto all’estremità della linea:

\override TextSpanner.bound-details.left.stencil-align-dir-y = #-2
\override TextSpanner.bound-details.right.stencil-align-dir-y = #UP

\override TextSpanner.bound-details.left.text = "ggg"
\override TextSpanner.bound-details.right.text = "hhh"

\relative { c'4^\startTextSpan c c c \stopTextSpan }

[image of music]

Nota bene che valori negativi spostano il testo in su, contrariamente a quanto si potrebbe pensare, perché un valore di -1 o DOWN fa sì che si allinei il margine inferiore del testo con la linea dell’estensore. Un valore di 1 o UP allinea il margine superiore del testo con la linea dell’estensore.

arrow

Impostando questa sottoproprietà su #t viene generata la punta di una freccia a un’estremità della linea.

padding

Questa sottoproprietà regola lo spazio tra l’estremità della linea specificata e la fine reale. Senza padding, un glissando inizia e termina nel centro della testa di ogni nota.

La funzione musicale \endSpanners termina prematuramente l’estensore che inizia nella nota immediatamente seguente. Viene terminato esattamente dopo una nota o alla stanghetta seguente se to-barline è impostato su vero e c’è una stanghetta prima della nota successiva.

\relative c'' {
  \endSpanners
  c2 \startTextSpan c2 c2
  \endSpanners
  c2 \< c2 c2
}

[image of music]

Quando si usa \endSpanners non è necessario chiudere \startTextSpan con \stopTextSpan, né è necessario chiudere le forcelle con \!.

Vedi anche

Guida al funzionamento interno: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.


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