Uso del line-spanner-interface

Entre los objetos que contemplan el interface line-spanner-interface se encuentran

La rutina responsable de dibujar los sellos de estos extensores es ly:line-spanner::print. esta rutina determina la localización exacta de los dos puntos extremos y traza una línea entre ellos, en el estilo solicitado. Las posiciones de los dos puntos extremos del extensor se calculan al vuelo, pero es posible sobreescribir sus coordenadas Y. Las propiedades que se deben especificar están anidadas a dos niveles de profundidad en la jerarquía de propiedades, pero la sintaxis de la instrucción \override es bastante sencilla:

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]

Las unidades para la propiedad Y son staff-spaces, siendo el punto del cero la línea central del pentagrama. Para el glissando, esto es el valor de Y en la coordenada X que corresponde al punto central de cada cabeza de nota si nos imaginamos que la línea se extiende hasta allí.

Si no está fijado Y, su valor se calcula a partir de la posición vertical del punto de anclaje correspondiente del extensor.

En caso de salto de línea, los valores para los puntos extremos se especifican por las sub-listas left-broken y right-broken de bound-details. Por ejemplo:

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

[image of music]

Un número de propiedades adicionales de las sub-listas left y right de la propiedad bound-details se pueden especificar de la misma forma que Y:

Y

Establece la coordenada Y del punto extremo, en desplazamientos de staff-spaces desde la línea central del pentagrama. De forma predeterminada es el centro del objeto ancla, y así un glissando apunta al centro vertical de la cabeza de la nota.

Para extensores horizontales como los extensores de texto y los trinos, está inamoviblemente codificado como 0.

attach-dir (dirección de anclaje)

Determina dónde comienza y termina la línea en la dirección X, con relación al objeto ancla. Sí, un valor de -1 (o LEFT, izquierda) hace que la línea comience o termine en el lado izquierdo de la cabeza de la nota a la que está anclado.

X

Es la coordenada X absoluta del punto extremo. Se suele calcular al vuelo, y su sobreescritura no tiene un efecto útil.

stencil (sello)

Los extensores de línea pueden tener símbolos al comienzo o al final, lo que está contenido en esta sub-propiedad. Esto es para uso interno; se recomienda en su lugar el uso de text.

text (texto)

Es un elemento de marcado que se evalúa para dar lugar al sello. Se usa para escribir cresc., tr y otros textos sobre los objetos de extensión horizontales.

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

[image of music]

stencil-align-dir-y (alineación del sello en y)
stencil-offset (desplazamiento del sello)

Si no se modifican uno u otro, el sello se coloca sencillamente en el punto extremo, centrado sobre la línea, como viene definido por las subpropiedades X e Y. Si se fijan stencil-align-dir-y o stencil-offset se moverá el símbolo del borde verticalmente con relación al extremo de la línea:

\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]

Observe que los valores negativos mueven el texto hacia arriba, al contrario de lo que podría esperarse, pues el valor de -1 o DOWN (abajo) significa alinear el borde inferior del texto con la línea de extensión. Un valor de 1 o UP (arriba) alinea el borde superior del texto con la línea extensora.

arrow (flecha)

Al establecer esta sub-propiedad a #t se produce una punta de flecha en el extremo de la línea.

padding (relleno)

Esta sub-propiedad controla el espacio entre el punto extremo especificado de la línea y el extremo real. Sin relleno, un glissando empezaría y terminaría en el centro de la cabeza de las notas.

La función musical \endSpanners finaliza de forma prematura el extensor que comienza sobre la nota que sigue inmediatamente a continuación. Se termina después de una nota exactamente, o en la siguiente barra de compás si to-barline es verdadero y se produce una divisoria antes de la siguiente nota.

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

[image of music]

Si se usa \endSpanners no es necesario cerrar \startTextSpan con \stopTextSpan, ni cerrar los reguladores con \!.

Véase también

Referencia de funcionamiento interno: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.


Referencia de la notación de GNU LilyPond v2.25.22 (development-branch).