[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
técupérer la valeur de \time en scheme
From: |
Daniel Cartron |
Subject: |
técupérer la valeur de \time en scheme |
Date: |
Fri, 06 Mar 2015 15:30:19 +0100 |
User-agent: |
KMail/4.13.3 (Linux/3.13.0-46-generic; KDE/4.13.3; x86_64; ; ) |
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
- técupérer la valeur de \time en scheme,
Daniel Cartron <=