Largeur d'un markup

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

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

···

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

From: "Nicolas Sceaux" <****@****>
To: "Germain G. Ivanoff-Trinadtzaty" <****@****>
Cc: "Lilypond French users" <lilypond-user-fr@gnu.org>
Sent: Thursday, June 12, 2008 9:33 PM
Subject: Re: Largeur d'un markup

> 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

Merci, je bookmarque ce snippet !
Germain

···

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