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

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

Re: Re: double time signature + double style


From: Valentin Villenave
Subject: Re: Re: double time signature + double style
Date: Mon, 25 Oct 2010 12:24:13 +0200

2010/10/25 Éditions IN NOMINE <address@hidden>:
> Petit affinage avant envoi sur la LSR. Ca serait bien de mettre le nom du
> glyph en variable, de façon à faire ce que l'on souhaite sans modifier la
> fonction...

Dans ce cas il faut une music-function, qui va prendre une string en argument:

myfunction =
#(define-music-function (parser location str) (string?)

Le (parser location) est à copier bêtement. str est le nom que je
donne à la variable définie par l'argument, et string? est le type de
variable dont il s'agit.

Ensuite, on aura simplement le même override, encadré dans un bloc

#{  #}

sauf que le nom du musicglyph sera remplacé par str (notre variable/argument).

En tout, cela donne :

timeSigMarkup =
#(define-music-function (parser location str) (string?)
#{
 \once \override Staff.TimeSignature #'stencil = #(lambda (grob)
     (grob-interpret-markup grob
       (markup #:override '(baseline-skip . 0) #:number
         (#:line ( #:vcenter #:musicglyph str
         (#:column ("3" "2")))))))
 #})

Voir 
http://lilypond.org/doc/v2.13/Documentation/notation/substitution-function-examples

> Voici la fonction modifiée. On peut y fourrer n'importe quel
> glyph, en fait, ce qui fait que je vais garder ce bout de code dans un coin
> bien en évidence : il sera bien utile pour inclure n'importe quoi n'importe
> où !... Si quelqu'un pouvait d'ailleurs m'indiquer la signification de
> #:number, ça me permettrait de comprendre tout le code !

Les commandes précédées de #: sont des commandes de markup:

       (markup #:override '(baseline-skip . 0) #:number
         (#:line ( #:vcenter #:musicglyph "toto"
         (#:column ("3" "2"))))

est équivalent à

\markup {
     \override #'(baseline-skip . 0)
     \number
     \line { \vcenter \musicglyph #"toto"
     \column { 3 2 }
    }
}

Plus spécifiquement, \number ou #:number sert uniquement à indiquer
qu'il faut utiliser la même police que pour les chiffres de mesures
(sans quoi il utiliserait la police texte standard).
http://lilypond.org/doc/v2.13/Documentation/notation/font#index-_005cnumber-1

> /Mais quel étrange et doux effroi soudain m'anime ?
> Grands dieux ! Serait-il vrai ? Comprendrais-je le Scheme ? /

Bon courage :-)

V. Villenave.



reply via email to

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