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: Gilles THIBAULT
Subject: Re: scheme extract-named-music
Date: Mon, 27 Apr 2015 11:38:23 +0200
User-agent: KMail/4.12.5 (Linux/3.14.32-desktop-1.mga4; KDE/4.12.5; x86_64; ; )

L
> 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 ?
En fait, si on traite différemment chaque événement il vaut mieux utiliser 
directement music-map (mais ça marcherait aussi avec extract-named-music).

%%%%%%%%%%%%%%%
#(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))



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)))
   evt))
 mus))  


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

{ \makeTab \music }

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

-- 
Gilles



reply via email to

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