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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: de l'usage de \fill-line dans un \score.


From: Nicolas Sceaux
Subject: Re: de l'usage de \fill-line dans un \score.
Date: Fri, 25 Apr 2008 21:03:24 +0200


Le 25 avr. 08 à 02:35, Valentin Villenave a écrit :

Bonjour Nicolas, bonjour tout le monde,

je crois être tombé sur une limitation ennuyeuse de la commande
\markup, et je n'arrive pas à y remédier.

Pour pouvoir centrer un texte horizontalement sur la page (voire
remplir toute la largeur de la page), on utilise \fill-line. D'accord.

Sauf que...

\relative {
   \override Score.PaperColumn #'keep-inside-line = ##t
   c1 d e
   \mark \markup { \fill-line { "toto" "toto" } }
   f \break c d
   e^\markup     { \fill-line { "toto" "toto" } }
   f
}

à chaque fois qu'on utilise \fill-line à l'intérieur d'un bloc \score,
la largeur de la ligne est calculée... à partir de l'endroit d'où part
le markup !
Dans l'exemple ci-dessus, un des "toto" disparaît, et le dernier reste
sur la page au prix d'une contorsion inénarrable... Si l'on ne définit
pas 'keep-inside-line, le dernier "toto" disparaît lui aussi.

Est-il possible, lorsque l'on indique \fill-line, de placer les objets
sur la *vraie* largeur de la page, et non en partant du milieu de
nulle part? Question subsidiaire: est-il possible de laisser le markup
(que ce soit avec \mark ou juste avec note^\markup) se balader sans
que ça n'affecte la taille des mesures et l'espacement des notes ?

Je comprends ce que tu veux dire, et ta frustration, mais

1) la ligne ne part pas de nul part comme tu dis, mais du point
d'accrochage du markup, ce qui tout à fait normal.

2) si tu veux changer la largeur de ligne utilisée pour tel markup,
il y a déjà ce qu'il faut (ie surcharger la valeur de la priopriété
line-width). Idem si tu veux décaler le point le plus à gauche.

3) ce que tu veux, c'est une façon de positionner automatiquement
la propriété line-width à la largeur séparant le point d'attache au
bord droit. Bref une nouvelle fonctionnalité, pas une correction de
bogue. Ca me semble très difficilement réalisable, dans la mesure où
les markups sont interprêtés *avant* le calcul de sauts de lignes, et
donc il ne sera pas possible de connaître la distance entre le point
d'attache du markup et le bord droit au moment où le markup est
interprêté.

4) Comme pour toute nouvelle fonctionnalité, il faut en justifier le
besoin, mais à vrai dire j'ai du mal à voir à quoi ça peut servir
en vrai (c'est dur d'être convaincu par un exemple à base de toto).

En relisant ton message, je réalise que j'ai peut-être mal compris ce
que tu voulais : que le markup à un endroit quelconque de la partition,
parte du début de la portée. C'est aussi une nouvelle fonctionnalité
(possiblement réalisable cette fois, mais cela nécessite de modifier
LilyPond, j'entends, la partie C++).

Nicolas





reply via email to

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