[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Positionnement précis d'un \mark
From: |
Nicolas Sceaux |
Subject: |
Re: Positionnement précis d'un \mark |
Date: |
Mon, 5 May 2008 21:04:56 +0200 |
Le 5 mai 08 à 14:49, Valentin Villenave a écrit :
Nicolas, j'aurais besoin d'un coup de main au sujet du bug (?) 617.
Peux-tu y jeter un coup d'oeil ?
Neil et Mats ont posté quelques commentaires, ainsi qu'un workaround,
mais je n'y comprends goutte. Est-ce que je dois le fermer ? Est-ce
qu'il faut modifier le code source pour améliorer la définition de
X-offset ?
http://lists.gnu.org/archive/html/bug-lilypond/2008-05/msg00056.html
En fait ce que Mats propose n'est pas un workaround, mais la façon
de positionner la proprtié X-offset d'un grob RehearsalMark.
En effet, si pour la plupart des autre grobs on peut faire
#'X-offset = #-1
par exemple, 0 étant la valeur par défaut de cette propriété,
pour un RehearsalMark ce n'est pas le cas, car la valeur par défaut
n'est pas 0 mais
(ly:make-simple-closure
`(,+ ,(ly:make-simple-closure
(list ly:break-alignable-interface::self-align-callback))
,(ly:make-simple-closure
(list ly:self-alignment-interface::x-aligned-on-self))))
cf scm/define-grobs.scm. Ce n'est pas super user-friendly... mais
bon.
Donc la solution au problème de Frédéric a été donné par Mats :
{
\once \override Score.RehearsalMark #'break-align-symbols = #'(time-
signature)
\once \override Score.RehearsalMark #'self-alignment-X = #LEFT
\once \override Score.RehearsalMark #'X-offset =
#(ly:make-simple-closure
`(,+ -1.0
,(ly:make-simple-closure
(list ly:break-alignable-interface::self-align-callback))
,(ly:make-simple-closure
(list ly:self-alignment-interface::x-aligned-on-self))))
\mark \markup { "" \translate #'(-10 . 5) \bold \small Allegretto }
c'1
}
(modifier la valeur -1.0 pour ajuster le placement)
--> ce n'est pas un bug, 617 peut être fermé.