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

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

Re: Colorier suivant l'intervalle avec la note préc édente


From: daviau ewen
Subject: Re: Colorier suivant l'intervalle avec la note préc édente
Date: Sat, 24 Mar 2012 21:00:50 +0100

Merci ! je regarde ça mais ça m'as l'air d'être du beau boulot...

Bises

Le 24 mars 2012 20:45, Gilles <address@hidden> a écrit :

J'ai toujours pas trouvé le moyen créer une liste avec les différents
intervalles d'un note avec la suivante...

Personne n'as d'idée ?

Voici une fonction qui colorie les têtes de notes en fonction de la
hauteur de la note précédente.
Pour autre chose que les têtes de notes (queues ou autre), je ne sais pas
faire.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.14.2"

colorizeNote = #(define-music-function (parser location music) (ly:music?)
"Colorize note in green if previous note is below, in black if pitch is
equal, in red if above"
(let ((prev-pitch (ly:make-pitch 0 0 0)))
   (music-map
     (lambda(x)
       (let ((p (ly:music-property x 'pitch)))
         (if (ly:pitch? p) (begin
            (ly:music-set-property! x 'tweaks
              (cons  ; on ajoute dans la liste de tweaks
                 (cons 'color ; un "tweak" de couleur
                    (cond
                       ((ly:pitch<? prev-pitch p) red)
                       ((equal? prev-pitch p) black)
                       (else green)))
                 (ly:music-property x 'tweaks)))
              (set! prev-pitch p)))
          x))
     music)))


music = \relative { c4 d e d e d c e e d  f e g f <e g c> <d f b> <c e
c'>1}
\colorizeNote \music
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

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