técupérer la valeur de \time en scheme

J'ai tout dit dans le titre...

C'est en relation avec mon autre fil sur le dégroupement de durées mais comme
c'est assez spécifique je préfère ouvrir un autre fil.

Précisions : je veux utiliser la valeur du dénominateur/2 à la place du chiffre
8 inscrit en dur en dernière ligne lors de l'appel de la fonction
\unfold_duration (hé oui j'ai un peu modifié le code qui me convient mieux
comme ça)

\version "2.16.2"
unfold_duration = #(define-music-function
  (parser location duration music)
  (number? ly:music?)
    (map-some-music
      (lambda (evt)
        (let
         ((dur (ly:music-property evt 'duration #f)))
          (and dur (begin
            (let ((number-dur 0) (nb_notes 0))
              (set! number-dur (expt 2 (ly:duration-log dur)))
              (set! nb_notes (/ duration (expt 2 (ly:duration-log dur)) ))
               (display nb_notes)
             
              (set! (ly:music-property evt 'duration) (ly:make-duration (log2
duration) 0 1))
                #{
                  \repeat unfold $nb_notes { $evt }
                #}
            )
                                )
          )
        )
      )
    music)
)

Musique = \relative c' {
  \time 4/4
  d2 c1 f4 a
  
}

  \unfold_duration 8 \Musique

···

--
Cordialement, Daniel Cartron
« Il ne faut pas oublier que le jour du Déluge ceux qui savaient nager se
noyèrent aussi. »
Ramon Gomez de la Serna

Sauf que je voulais écrire Récupérer... Mais je suppose que les lecteurs de la
liste avaient rectifiés d'eux-même.

Bon alors si je met un \displayMusic devant \time 3/4 je vois que j'ai un truc
qui s'appelle TimeSignatureMusic et non pas NoteEvent comme pour une note, et
qu'il a des propriétés (c'est ça le terme) beat-structure dont je ne vois pas
comment on s'en sert, mais surtout denominator et numerator.

J"ai essayé d'écrire un truc qui fait
getTimeSig = #(define-music-function (parser location music) (ly:music?)
  ""
    (map-music
      (lambda (evt)
        (let
         ((beatlength (ly:music-property evt 'denominator #f)))
         ((beatnumber (ly:music-property evt 'numerator #f)))
       )
      )
    )
)

mais ça marche pô :frowning:

Alors si qqun plus fort que moi en scheme (c'est pas bien difficile) pouvait me
dire ce qui ne va pas...

Merci d'avance

···

Le vendredi 6 mars 2015, 15:30:19 Daniel Cartron a écrit :

J'ai tout dit dans le titre...

--
Cordialement, Daniel Cartron
« La jeune fille bien élevée est le seul animal qui rougit en voyant une
banane. »
François Cavanna - Le saviez-vous ?

Bon ça au moins j'ai trouvé et ça va sacrément me servir, pour autant que
j'arrive à le récupérer aussi...

···

Le samedi 7 mars 2015, 07:04:15 Daniel Cartron a écrit :

beat-structure dont je ne vois pas
comment on s'en sert

--
Cordialement, Daniel Cartron
« L'indépendance vaut bien que l'on supporte la solitude. »
Bernard Shaw - Mes inscriptions