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: Daniel Cartron
Subject: Re: scheme extract-named-music
Date: Mon, 27 Apr 2015 09:55:34 +0200
User-agent: KMail/4.13.3 (Linux/3.13.0-48-generic; KDE/4.13.3; x86_64; ; )

Le dimanche 26 avril 2015 22:41:08, vous avez écrit :
> %%%%%%%%%%%%%%
> #(define (parse-music mus)
> ; traitement commun
> (display "-----------\n")
> (display-scheme-music mus)
> 
> ; traitement particulier
> (let((name (ly:music-property mus 'name)))
>   (cond 
>    ((eq? name 'NoteEvent)
>     ; (....)
>     )
>      ((eq? name 'EventChord)
>     ; (....)
>     )
>      ((eq? name 'GraceMusic)
>     ; (....)
>     ))  
> ))
> 
> makeTab = #(define-music-function (parser location mus) (ly:music?)
>   (let ((notes (extract-named-music mus '(NoteEvent EventChord
> GraceMusic)))) (for-each parse-music notes)
>     mus
>   )
> )
> 
> music = \relative c' { <c e>4 d \grace dis8 e2 }
> 
> { \makeTab \music }
> 
> %%%%%%%%%%%%%%%

Juste une question : il n'y a pas de traitement commun ou plus exactement 
c'est le  mm traitement à chaque fois :
- noteevent j'applique  la fonction parse-music
- grace note je met le drapeau graceflag à #t et j'applique la fonction parse-
music
- chordevent j'applique la fonction à chaque note de l'accord

Donc je me demande si on ne pourrait pas mettre le code conditionnel dans 
makeTab. Ou me faut-il une fonction intermédiaire pour ça ?

-- 
Cordialement, Daniel Cartron
« Cent mille âmes, combien cela peut-il faire d'hommes ? »
Jules Renard



reply via email to

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