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

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

Re: scheme extract-named-music


From: Christophe Pochon
Subject: Re: scheme extract-named-music
Date: Mon, 27 Apr 2015 12:40:31 +0200

Et voilà une version avec la métrique :

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

#(define beatLen 0)

#(define beatStr 0)

#(define beatNum 0)


#(define (parse-note note)

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

(display-scheme-music note))


#(define (parse-chord chord)

(display "**** CHORD ***\n")

(map

parse-note

(extract-named-music chord 'NoteEvent))

(display "**** FIN CHORD ***\n\n"))


#(define (parse-grace grace)

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

(display-scheme-music grace))


#(define (parse-timsig timsig)

(display "----- TIME SIGNATURE -----\n")

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

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

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


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

(music-map

(lambda(evt)

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

(cond

((eq? name 'NoteEvent)

(parse-note evt))

((eq? name 'EventChord)

(parse-chord evt))

((eq? name 'GraceMusic)

(parse-grace evt))

((eq? name 'TimeSignatureMusic)

(parse-timsig evt)))

evt))

mus))



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


{ \makeTab \music }


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



Le 27 avril 2015 12:15, Daniel Cartron <address@hidden> a écrit :
Le lundi 27 avril 2015 11:38:23, vous avez écrit :
> #(define (parse-grace grace)
> (display "------ GRACE -----\n")
> (display-scheme-music grace))

ok comme ça j'aime bien. Reste à vois si le code de christophe pour la
métrique rentrera là-dedans aussi, mais si c'est le cas ce sera cool,
j'arriverai bientôt au bout de mes peines. Pour la première partie en tout cas
:-) J'ai pas fini de vous solliciter...

Et donc pour la fonction ci-dessus je suppose que j'écris juste

#(define (parse-grace grace)
(set! graceflag #t)
(parse-note grace))

Pour les accords ce sera un peu plus complexe en fait, il va falloir que je
réfléchisse à comment scinder ma grosse fonction en  plusieurs modules, ce sera
plus facile à lire et plus souple.

Et encore un grand merci à tous !

--
Cordialement, Daniel Cartron
Dans un village, un barbier rase les gens qui ne se rasent pas eux-mêmes et
seulement ceux-là.
Question : le barbier se rase-t-il lui-même ?
Bertrand Russell

_______________________________________________
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]