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

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

Re: scheme : récupérer la métrique


From: Christophe Pochon
Subject: Re: scheme : récupérer la métrique
Date: Mon, 27 Apr 2015 11:42:42 +0200

Comme ça ça fonctionne :

%%%%%%%%%%%%%%%%


#(define beatLen 0)

#(define beatStr 0)

#(define beatNum 0)

#(define (parse-music mus)

; traitement commun

(display "-----------\n")



; traitement particulier

(let((name (ly:music-property mus 'name)))

(cond

((eq? name 'NoteEvent)

(display "NoteEvent\n")

)

((eq? name 'EventChord)

(display "Accord\n")

)

((eq? name 'GraceMusic)

(display "Grace\n")

)

((eq? name 'TimeSignatureMusic)

(display "TimeSignature\n")

(set! beatLen(ly:music-property mus 'denominator #f))

(set! beatStr (ly:music-property mus 'beat-structure #f))

(set! beatNum (ly:music-property mus 'numerator #f))

))

))


makeTab = #(define-music-function (parser location mus) (ly:music?)

(let ((notes (extract-named-music mus '(NoteEvent EventChord GraceMusic TimeSignatureMusic))))


(for-each parse-music notes)

mus

)

(display beatLen) (newline)

(display beatStr) (newline)

(display beatNum)

)


music = \relative c' { \time 7/4 <c e>4 d \grace dis8 e2 }


{ \makeTab \music }


%%%%%%%%%%%%%%%



Le 27 avril 2015 11:28, PharoahS <address@hidden> a écrit :
Quand dans guile tu fais
(define x 3)
tu as x = 3
puis (let ((x 33)) (+ x 1))
çà donne 34 mais quand tu tapes x çà donne toujours 3. C'est çà ton
probleme?
si tu veux mettre à jour x à 34
(set! x (let ((x 33)) (+ x 1))) va donner x = 34
bref set! met à jour et let copie




--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/scheme-recuperer-la-metrique-tp7582851p7582857.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


reply via email to

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