|
From: | Christophe Pochon |
Subject: | Re: scheme : récupérer la métrique |
Date: | Mon, 27 Apr 2015 12:11:59 +0200 |
%%%%%%%%%%%%%%
\version "2.19.15"
#(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
)
)
music = \relative c' { \time 7/4 <c e>4 d \grace dis8 e2 }
{ \makeTab \music }
%%%%%%%%%%%%%%%
Le lundi 27 avril 2015, 11:42:42 Christophe Pochon a écrit :
> Comme ça ça fonctionne :
Aïe non :
La fonction music ne peut retourner #<unspecified>.
--
Cordialement, Daniel Cartron
« Un jeune enfant, sur son pot, s'efforçait.
Moralité : Le petit poussait »
Alphonse Allais
[Prev in Thread] | Current Thread | [Next in Thread] |