|
From: | Christophe Pochon |
Subject: | Re: scheme : récupérer la métrique |
Date: | Mon, 27 Apr 2015 12:16:20 +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")
(display beatNum)
(display "/")
(display beatLen) (newline)
)
((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 4/4 <c e>4 d \grace dis8 e2 \time 7/4 e4 d c e2 c }
{ \makeTab \music }
%%%%%%%%%%%%%%%
Oui, c'était mes display de débuggage qui mettaient le bazarcomme ça c'est mieux :%%%%%%%%%%%%%%
\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 27 avril 2015 11:52, Daniel Cartron <address@hidden> a écrit :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] |