Affectation d’une longueur minimale aux extenseurs
L’interface spanner-interface
fournit trois propriétés qui
s’appliquent à certains extenseurs.
La propriété minimum-length
La longueur minimale d’un extenseur est déterminée par la propriété
minimum-length
. Au plus sa valeur est élevée, au plus
l’espacement des notes qui le bornent sera grand. Forcer sa valeur
restera néanmoins sans effet pour un certain nombre d’extenseurs dont la
longueur dépend d’autres considérations. Voici quelques exemples de mise
en œuvre de cette propriété.
a'~ a' a' % increase the length of the tie -\tweak minimum-length 5 ~ a'
\relative \compressMMRests { a'1 R1*23 % increase the length of the rest bar \once \override MultiMeasureRest.minimum-length = 20 R1*23 a1 }
\relative { a' \< a a a \! % increase the length of the hairpin \override Hairpin.minimum-length = 20 a \< a a a \! }
Cette propriété permet aussi de jouer sur l’envergure d’une liaison d’articulation ou de phrasé.
\relative { a'( g) a -\tweak minimum-length 5 ( g) a\( g\) a -\tweak minimum-length 5 \( g\) }
Certains objets requièrent un appel explicite à la procédure
set-spacing-rods
pour que la propriété minimum-length
produise ses effets. La propriété set-spacing-rods
doit alors
prendre pour valeur ly:spanner::set-spacing-rods
. Par exemple, la
longueur minimale d’un glissando ne pourra être forcée tant que la
propriété springs-and-rods
n’aura pas été définie :
% default e' \glissando c'' % not effective alone \once \override Glissando.minimum-length = 20 e' \glissando c'' % effective only when both overrides are present \once \override Glissando.minimum-length = 20 \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods e' \glissando c''
Il en va de même pour l’objet Beam
(ligature) :
% not effective alone \once \override Beam.minimum-length = 20 e'8 e' e' e' % effective only when both overrides are present \once \override Beam.minimum-length = 20 \once \override Beam.springs-and-rods = #ly:spanner::set-spacing-rods e'8 e' e' e'
La propriété minimum-length-after-break
La propriété minimum-length-after-break
peut s’utiliser pour
dimensionner le tronçon d’extenseur placé après un saut de ligne. Tout
comme la propriété minimum-length
, elle nécessite souvent, pour
prendre effet, de régler la propriété springs-and-rods
sur
ly:spanner::set-spacing-rods
.
{ \once \override Tie.minimum-length-after-break = 20 a1~ \break a1 \once \override Slur.minimum-length-after-break = 20 a1( \break d'1) \once \override TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods \once \override TextSpanner.minimum-length-after-break = 20 a1\startTextSpan \break a1\stopTextSpan \once \override Hairpin.after-line-breaking = ##t \once \override Hairpin.to-barline = ##f \once \override Hairpin.minimum-length-after-break = 20 a1\< \break a1\! \once \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods \once \override Glissando.breakable = ##t \once \override Glissando.after-line-breaking = ##t \once \override Glissando.minimum-length-after-break = 20 a1\glissando \break d'1 }