double time signature + double style

Bonjour à toute la liste.

En ce moment, je demande bcp et donne peu mais c'est le rush avant les vacances...

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. Le 3/2, c'est OK (en pompant sur l'excellent snippet de notation blanche ici : http://lsr.dsi.unimi.it/LSR/Search?q=Producing+white+%28void%29+notation) et j'ai cru bien faire en insérant le mensural juste avant (et pourtant, il sait bien que ça ne marche pas :-[ ) :

\override Staff.TimeSignature #'style = #'mensural \time 6/4
\override Staff.TimeSignature #'style = #'default \time 6/4
\set Staff.timeSignatureFraction = #'(3 . 2) %pour insérer un 3/2 au lieu du 6/4 mentionné
\override NoteHead #'duration-log = #1 (% pour la notation blanche)

J'ai essayé de faire :

\override Staff.TimeSignature #'style = #'mensural
\time 6/4 s1. \bar ""
\override Staff.TimeSignature #'style = #'default
\time 6/4
\set Staff.timeSignatureFraction = #'(3 . 2)
\override NoteHead #'duration-log = #1

histoire de feinter Lilypond, mais ça donne un espace >:o super moche !

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 :stuck_out_tongue:

Merci à vous pour l'astuce du siècle !
JMarc

Bonjour à toute la liste.

Bonjour Jean-Marc,

En ce moment, je demande bcp et donne peu mais c'est le rush avant les
vacances...

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 :slight_smile:

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")))))))

?

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 :stuck_out_tongue:

En effet. Mais qui chantera l'odeur du Scheme au petit matin ?

Cordialement,
Valentin.

···

2010/10/20 Éditions IN NOMINE <****@****>:

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 :)
<big><big>
<small>OUPS, toutes mes excuses : normalement c'est bon. Je n'ai rien vu de ma fenêtre<big>...</big></small></big> 
</big><big><big>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...</big>
</big>
>> *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")))))))

<big><big>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 </big>: </big>[http://lists.gnu.org/archive/html/lilypond-user/2010-08/msg00331.html](http://lists.gnu.org/archive/html/lilypond-user/2010-08/msg00331.html)
<small><big><big><big>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 }

</big></big></big></small> 
>> *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 ?
<big><big>Pas moi pour le moment  :'( 
Mais c'est effectivement tout un poème qui mériterait une symphonie !

Merci encore pour ton aide !
JMarc</big></big>

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
Pour : Éditions IN NOMINE <****@****>
Copie à : Lilypond User FR <lilypond-user-fr@gnu.org>

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 :slight_smile:

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 :cry:
Mais c'est effectivement tout un poème qui mériterait une symphonie !

Merci encore pour ton aide !
JMarc

···

Date : Mon, 25 Oct 2010 11:28:58 +0200
De : Éditions IN NOMINE <****@****>

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 :slight_smile:

V. Villenave.

···

2010/10/25 Éditions IN NOMINE <****@****>:

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

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

Tiens c'est marrant ça, j'avais jamais tilté. Ca se voit effectivement bien en faisant :

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

A bientôt !
JMarc

···

Le 25/10/2010 12:24, Valentin Villenave a écrit :