Subject: Largeur d'un markup

From: "Germain G. Ivanoff-Trinadtzaty" <[email-masked]>
Date: Thu, 12 Jun 2008 16:13:36 +0200

Bonjour,

Voici que je retombe sur cette limitation frustrante : quelle est la largeur, la hauteur (ou les deux à la fois) du markup que j'ai construit ?! Je (l'utilisateur) ne peux le savoir : LilyPond le garde pour lui et ne partage pas... Car il me semble qu'il calcule bien les dimensions (en tout cas la largeur) des mots pour justifier une ligne ?

Combien d'entre nous apprécieraient un geste de sa part ?

Plus largement, ne serait-il pas agréable de pouvoir extraire de nombreuses coordonnées que calcule LP ? Par ex, la position qu'il choisit (après d'éventuels overrides) pour afficher un markup, ou un texte comme un titre, une nom d'instrument, etc... Toutes sortes de points d'ancrage.
LP pourrait par ex retourner les coord (relatives ? absolues ?) et la taille d'un markup dans certaines propriétés, si on remplaçait son stencil par un ly::calc-dimensions au lieu de print.
Ou alors, tous les markup auraient les propriétés X-size et Y-size, qui seraient renseignées à l'évaluation du markup, et que l'on pourrait utiliser dans le placement de ce markup.

Ces fonctionnalités ne se rapportent pas à la notation musicale strictement dite, mais à l'édition de belles partitions -  certainement. Quand à leur priorité, je ne saurais juger...

Germain

---

From: Nicolas Sceaux <[email-masked]>
Date: Thu, 12 Jun 2008 21:33:40 +0200

Le 12 juin 08 à 16:13, Germain G. Ivanoff-Trinadtzaty a écrit :

> Bonjour,
>
> Voici que je retombe sur cette limitation frustrante : quelle est la  
> largeur, la hauteur (ou les deux à la fois) du markup que j'ai  
> construit ?! Je (l'utilisateur) ne peux le savoir : LilyPond le  
> garde pour lui et ne partage pas...

Que nenni, tu peux l'obtenir de la façon suivante :

#(define (ma-commande-qui-exploite-la-largeur layout props arg)  
(markup?)
    (let* ((arg-stencil (interpret-markup layout props arg))
           (width (ly:stencil-extent arg-stencil Y)))
       ... faire quelque chose avec la largeur puis retourner un  
stencil ...))

Ici, on interprète l'argument, ce qui donne un stencil, la largeur
(ou la hauteur) duquel on obtient avec ly:stencil-extent.

Nicolas

---

From: "Germain G. Ivanoff-Trinadtzaty" <[email-masked]>
Date: Thu, 12 Jun 2008 23:52:49 +0200

> From: "Nicolas Sceaux" <[email-masked]>
> To: "Germain G. Ivanoff-Trinadtzaty" <[email-masked]>
> Cc: "Lilypond French users" <[email-masked]>
> Sent: Thursday, June 12, 2008 9:33 PM
> Subject: Re: Largeur d'un markup
>

> > construit ?! Je (l'utilisateur) ne peux le savoir : LilyPond le  garde 
> > pour lui et ne partage pas...
>
> #(define (ma-commande-qui-exploite-la-largeur layout props arg)  (markup?)
>        ... faire quelque chose avec la largeur puis retourner un stencil 
> ...))
>

Merci, je bookmarque ce snippet !
Germain