lilypond-user-fr
[Top][All Lists]
Advanced

[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é.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]