Subject: Fwd: Re: double time signature + double style

From: Éditions IN NOMINE<[email-masked]>
Date: Mon, 25 Oct 2010 12:04:42 +0200

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

deuxTimeSignature =
#(define ((custom-time-signature*glyph*  a b) grob)
    (grob-interpret-markup grob
                           (markup #:override '(baseline-skip . 2.5) #:number
                                   (#:line ((markup (#:fontsize 4 #:musicglyph*glyph*))
                                            (#:fontsize -1 #:column (a b)))))))

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

Héhé...

Portez-vous bien !

JMarc

-------- Message original --------
Sujet: 	Re: double time signature + double style
Date : 	Mon, 25 Oct 2010 11:28:58 +0200
De : 	Éditions IN NOMINE <[email-masked]>
Pour : 	Éditions IN NOMINE <[email-masked]>
Copie à : 	Lilypond User FR <[email-masked]>

Mélangé les pinceaux dans mes mails... je reprends la réponse de 
Valentin que j'avais perdue...

>Demander beaucoup n'est pas un problÃme, par contre le faire avec des
>mails en HTML c'est peu recommandÃ. Il doit y avoir une option "texte
>seul" dans ton client de messagerie, et je crois qu'on serait tous
>trÃs reconnaissants si tu l'activais :)

OUPS, toutes mes excuses : normalement c'est bon. Je n'ai rien vu de ma fenêtre...
Valentin, tu peux me dire si ce dernier envoi est bon ? Les messages que je reçois de la liste sur ma messagerie ont tous une bonne tête pourtant...

>>/  Je suis en traind e travailler sur de spiÃces pour clavier de Strozzi, et/
>>/  comme souvent en notation blanche (ternaire), j'ai droit Ã un \time 6/4 en/
>>/  mensural (le C avec un point dedans) suivi d'un 3/2./

>Quelque chose comme :
>\override Staff.TimeSignature #'stencil = #(lambda (grob)
>   (grob-interpret-markup grob
>     (markup #:override '(baseline-skip . 0) #:number
>       (#:line (
>           #:vcenter #:musicglyph "timesig.mensural64"
>           (#:column ("3" "2")))))))

Tout à fait ! En fait, j'avais perdu ta réponse, et je suis parti d'une indication sur la liste EN. J'ai bidouillé cet exemple:http://lists.gnu.org/archive/html/lilypond-user/2010-08/msg00331.html
et je suis super fier d'être arrivé à ta proposition... J'ai même réussi à y inclure des modifs de mise ne page... Je vais mettre ça sur le LSR.

\version "2.13"
deuxTimeSignature =
#(define ((custom-time-signature a b) grob)
    (grob-interpret-markup grob
                           (markup #:override '(baseline-skip . 2.5) #:number
                                   (#:line ((markup (#:fontsize 4 #:musicglyph "timesig.mensural64"))
                                            (#:fontsize -1 #:column (a b)))))))
musique = \relative c' {
\override Score.TimeSignature #'stencil =
     #(custom-time-signature  "3" "2")
\time 6/4
\override NoteHead #'duration-log = #1 %(pour la notation blanche)
c4 c d e1*1/2 d4 c e d c1.*1/2 \bar "|."
}
\score { \musique }

>>/  Je suis allÃ voir du cÃtÃ mÃtrique dÃcomposÃe, mais Ãa ne me saute pas/
>>/  aux/
>>/  yeux... Ãa sent le Scheme Ã plein nez, tout Ãa :-P/

>En effet. Mais qui chantera l'odeur du Scheme au petit matin ?
Pas moi pour le moment  :'(
Mais c'est effectivement tout un poème qui mériterait une symphonie !

Merci encore pour ton aide !
JMarc

---

From: Valentin Villenave <[email-masked]>
Date: Mon, 25 Oct 2010 12:24:13 +0200

2010/10/25 Éditions IN NOMINE <[email-masked]>:
> 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

> Grands dieux ! Serait-il vrai ? Comprendrais-je le Scheme ? /

Bon courage :-)

V. Villenave.

---

From: Éditions IN NOMINE <[email-masked]>
Date: Mon, 25 Oct 2010 12:36:54 +0200

Merci pour toute cette réponse super documentée. Je pense avoir tout 
compris, c'est dire !

> http://lilypond.org/doc/v2.13/Documentation/notation/font#index-_005cnumber-1
Tiens c'est marrant ça, j'avais jamais tilté. Ca se voit effectivement 
bien en faisant :

\markup {

A bientôt !
JMarc