5.4.6 Objectes d’extensió

Molts objectes de notació musical abasten diverses notes o fins i tot diversos compassos. Són exemples els crescendi, trins, claus de grups especials i claus de primera i segona veu. Aquests objectes s’anomenen “spanners” o «objectes d’extensió», i tenen propietats especials per controlar la seva aparença i comportament. Algunes d’aquestes propietats són comunes a tots els objectes d’extensió; d’altres es limiten a un subconjunt dels extensors.

Tots els objectes d’extensió donen suport a la interfície spanner-interface. Alguns, bàsicament aquells que tracen una línia recta entre els dos objectes, donen suport també la interfície line-spanner-interface.


Ús de la spanner-interface

Aquesta interfície proporciona dues propietats que s’apliquen a diversos extensors.

La propietat minimum-length (longitud mínima)

La longitud mínima de l’objecte d’extensió s’especifica a través de la propietat minimum-length. El seu augment sol produir l’efecte necessari d’augmentar l’espaiat de les notes entre els dos punts extrems. Malgrat això, aquesta sobreescriptura no té cap efecte sobre molts extensors, atès que la seva longitud està determinada per altres consideracions. Més a sota es mostren exemples de a on és efectiva.

a'~ a'
a'
% incrementa la longitud de la lligadura d'unió
-\tweak minimum-length #5
~ a'

[image of music]

\relative \compressMMRests {
  a'1
  R1*23
  % incrementa la longitud del compàs d'espera
  \once \override MultiMeasureRest.minimum-length = #20
  R1*23
  a1
}

[image of music]

\relative {
  a' \< a a a \!
  % incrementa la longitud de les marques expressives
  \override Hairpin.minimum-length = #20
  a \< a a a \!
}

[image of music]

Aquesta sobreescriptura es pot usar també per augmentar la longitud de les lligadures d’expressió i de fraseig:

\relative {
  a'( g)
  a
  -\tweak minimum-length #5
  ( g)

  a\( g\)
  a
  -\tweak minimum-length #5
  \( g\)
}

[image of music]

Per alguns objectes de presentació, la propietat minimum-length és efectiva sols si es crida explícitament al procediment set-spacing-rods. Para fer-lo, s’ha de fixar la propietat springs-and-rods al valor ly:spanner::set-spacing-rods. Per exemple, la longitud mínima d’un glissando no té efecte a no ser que s’estableixi la propietat springs-and-rods:

% default
e' \glissando c''

% no és efectiu per si sol
\once \override Glissando.minimum-length = #20
e' \glissando c''

% sols efectiu si estan presents els dos overrida
\once \override Glissando.minimum-length = #20
\once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
e' \glissando c''

[image of music]

El mateix es pot dir de l’objecte Beam:

% no és efectiu per si sol
\once \override Beam.minimum-length = #20
e'8 e' e' e'

% sols efectiu si estan presents els dos overrida
\once \override Beam.minimum-length = #20
\once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods
e'8 e' e' e'

[image of music]

La propietat to-barline

La segona propietat útil del spanner-interface és to-barline. De forma predeterminada té el valor CERT, fent que els reguladors i altres objectes d’extensió que acaben sobre la primera nota d’un compàs, en comptes d’això acabin a la línia divisòria immediatament precedent. Si s’estableix al valor FALS, l’extensor arribarà més enllà de la barra de compàs i acabarà exactament sobre la nota:

\relative {
  a' \< a a a a \! a a a \break
  \override Hairpin.to-barline = ##f
  a \< a a a a \! a a a
}

[image of music]

Aquesta propietat no és efectiva per tots els extensors. Per exemple, el seu establiment a #t no té cap efecte sobre les lligadures d’expressió o de fraseig, o sobre altres extensors per als que terminar a la barra de compàs no tindria cap significat.


Ús de la line-spanner-interface

Entre els objectes que donen suport a l’interfície line-spanner-interface es troben:

La rutina responsable de dibuixar els segells d’aquests extensors és ly:line-spanner::print. Aquesta rutina determina la localització exacta de les dues punts extrems i traça una línia entre ells, a l’estil sol·licitat. Les posicions dels dos punts extrems de l’extensor es calculen al vol, però és possible sobreescriure les seves coordenades Y. Les propietats que s’ha d’especificar estan niuades a deus nivells de profunditat a la jerarquia de propietats, però la sintaxi de profunditat a la jerarquia de propietats, però la sintaxi de l’ordre \override és força senzilla:

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]

Les unitats per a la propietat Y són els espais staff-space, sent el punt del zero la linia central del pentagrama. Per al glissando, això és el valor de Y a la coordenada X que correspon al punt central de cada cap de nota si ens imaginem que la línia s’estén fins aquí.

SI no està fixat Y, els seu valor es calcula a partir de la posició vertical del punt ancoratge corresponen ¡t de l’extensor.

En cas de salt de línia, els valors per als punts extrems s’especifiquen per les sub-llistes left-broken i right-broken de bound-details. Per exemple:

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

[image of music]

Un nombre de propietats addicionals de les sub-llistes left i right de la propietat bound-details es poden especificar de la mateixa forma que Y:

Y

Estableix la coordenada Y del punt extrem, en desplaçaments de espais staff-space des de la línia central del pentagrama. De forma predeterminada és el centre de l’objecte àncora, i així un glissando apunta al centre vertical del cap de la nota.

Per extensors horitzontals com els extensors de text i els trins, està fixat a 0 sense possibilitat de canviar-lo.

attach-dir (direcció d'ancoratge)

Determina on comença i acaba la línia de la direcció X, amb relació a l’objecte àncora. Sí, un valor de -1 (o LEFT, esquerra) Fa que la línia comenci a acabi en cantó esquerre del cap de la nota a la que està ancorada.

X

És la coordenada X absoluta del punt extrem. Se sol calcular al vol, i la seva sobreescriptura no té un efecte útil.

stencil (segell)

Els extensors de línia poden tenir símbols al començament o al final, i això està contingut a aquesta sub-propietat. Això és per a ús intern; es recomana enlloc d’això l’ús de text.

text (texto)

És un element de marcatge que s’avalua per donar al lloc al segell. S’usa per escriure cresc., tr i altres textos sobre els objectes d’extensió horitzontals.

\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ó del segell en y)
stencil-offset (desplaçament del segell)

Si no es modifiquen l’un o l’altre, el segell es col·loca senzillament al punt extrem, centrat sobre la línia, com ve definit per les sub-propietats X i Y. Si s’estableixen stencil-align-dir-y o stencil-offset es mourà el símbol de la vora verticalment amb relació a l’extrem de la línia:

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

Observeu que els valors negatius mouen el text cap amunt, al contrari del podria esperar-se, atès que el valor de -1 o DOWN (avall) significa alinear la vora inferior del text amb la línia d’extensió. Un valor de 1 o UP (amunt) alinea la vora superior del text amb la línia extensora.

arrow (fletxa)

En establir aquesta sub-propietat a #t es produeix una punta de fletxa a l’extrem de la línia.

padding (farcit)

Aquesta sub-propietat controla l’espai entre el punt extrem especificat de la línia i l’extrem real. Sense farcit, un glissando començaria i acabaria al centre del cap de les notes.

La funció musical \endSpanners finalitza de forma prematura l’extensor que comença sobre la nota que segueix immediatament a continuació. S’acaba després d’una nota exactament, o en la següent barra de compàs si to-barline és vertader i es produeix una divisòria abans de la nota següent.

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

[image of music]

Si s’usa \endSpanners no cal tancar \startTextSpan amb \stopTextSpan, ni tancar els reguladors amb \!.

Vegeu també

Referència de funcionament intern: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.


LilyPond — Referència de la notació v2.23.82 (branca de desenvolupament).