Galbe individuel des liaisons d’un accord
Le galbe des liaisons de prolongation d’un accord peuvent adopter des galbes différents comme illustré ci-dessous.
Dans la première ligne, on voit que toutes les notes de l’accord bénéficient d’une liaison.
Modifier ces liaisons à l’aide de \shape est sans effet dans la
mesure où TieColumn les positionne de son propre chef, ignorant
plus ou moins ce que contient \shape. On pourrait s’en sortir en
affectant #t à positioning-done, mais
positioning-done est une propriété interne et l’activer revient à
dire : tout le positionnement est terminé, il n’y a plus rien à faire.
La deuxième ligne illustre le fait que le positionnement n’est pas
terminé : toutes les liaisons sont par dessous, et leur épaisseur n’est
pas optimale.
Le fait d’indiquer explicitement le positionnement des liaisons permet
d’utiliser \shape pour chacune des liaisons (
4e
ligne) et fonctionne même dans le cas d’un saut de ligne et avec la
propriété tieWaitForNote.
{ \textMark "Chords can be tied note by note." <c'~ e'~ g'~ c''~>2 q } { \textMark \markup \override #'(baseline-skip . 3) \wordwrap { Modifying those ties with \typewriter "\\shape" does not succeed, because \typewriter TieColumn positions them on its own behalf, ignoring \typewriter "\\shape" input more or less. You may circumvent this by setting \typewriter positioning-done to \typewriter "#t" – alas, \typewriter positioning-done is an internal property, and setting it to \typewriter "#t" means: all positioning is done, don’t do anything further. The next example demonstrates a case where the positioning is not finished: all tie directions are down, and the thickness is not accurate. } <c'~ e'~ g'~ c''~>2 \once \override TieColumn.positioning-done = ##t q } { \textMark "To fix that, enter ties with explicit direction modifiers." <c'_~ e'_~ g'_~ c''^~>2 \once \override TieColumn.positioning-done = ##t q } { \textMark \markup { Now you can use \typewriter "\\shape" for each tie as usual. } <c'-\shape #'((0 . 0) (0 . -10) (0 . -10) (0 . 0)) _~ e'-\shape #'((0 . 0) (0 . -5) (0 . -5) (0 . 0)) _~ g'-\shape #'((0 . 0) (0 . -2) (0 . -2) (0 . 0)) _~ c''-\shape #'((0 . 0) (0 . 5) (0 . 5) (0 . 0)) ^~ >2 \once \override TieColumn.positioning-done = ##t q } { \textMark "This also works at line breaks." <c'-\shape #'(((0 . 0) (0 . -10) (0 . -10) (0 . 0)) ((0 . 0) (0 . -10) (0 . -10) (0 . 0))) _~ e'-\shape #'(((0 . 0) (0 . -5) (0 . -5) (0 . 0)) ((0 . 0) (0 . -5) (0 . -5) (0 . 0))) _~ g'-\shape #'(((0 . 0) (0 . -2) (0 . -2) (0 . 0)) ((0 . 0) (0 . -2) (0 . -2) (0 . 0))) _~ c''-\shape #'(((0 . 0) (0 . 5) (0 . 5) (0 . 0)) ((0 . 0) (0 . 5) (0 . 5) (0 . 0))) ^~ >2 \break \once \override TieColumn.positioning-done = ##t q } { \textMark \markup { It also works with the \typewriter tieWaitForNote property. } \set tieWaitForNote = ##t c'4-\shape #'((0 . 0) (0 . -10) (0 . -10) (0 . 0)) _~ e'-\shape #'((0 . 0) (0 . -5) (0 . -5) (0 . 0)) _~ g'-\shape #'((0 . 0) (0 . -2) (0 . -2) (0 . 0)) _~ c''-\shape #'((0 . 0) (0 . 5) (0 . 5) (0 . 0)) ^~ \once \override TieColumn.positioning-done = ##t <c' e' g' c''>1 } \layout { indent = 0 \context { \Score \override TextMark.padding = #4 \override TextMark.break-align-symbols = #'(left-edge) } } \paper { score-system-spacing.padding = 3 }