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

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

Re: tin-whistle


From: Jean Abou Samra
Subject: Re: tin-whistle
Date: Sun, 13 Dec 2020 20:19:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

Bonsoir,

J'ai dû avoir un instant d'absence, car votre exemple semble montrer assez clairement que vous voulez produire automatiquement le diagramme à partir de la musique.

On peut alors faire quelque chose comme ceci :

\version "2.21.80"

tinWhistle =
#(define-music-function (fingerings music)
                        (list? ly:music?)
   #{
     <<
       { $music }
       \new Dynamics {
         #(music-map
            (lambda (m)
              (if (music-is-of-type? m 'note-event)
                  (make-music
                    'SkipEvent
                    'duration
                    (ly:music-property m 'duration)
                    'articulations
                    (list
                      (make-music
                        'TextScriptEvent
                        'text
                        #{
                          \markup
                          \left-align
                          \override #'(size . 0.5)
                          \woodwind-diagram
                            #'tin-whistle
                            #(list
                               (cons
                                 'cc
                                 (assoc-get
                                   (let ((pitch (ly:music-property m 'pitch)))
                                     (list
                                       (ly:pitch-notename pitch)
                                       (ly:pitch-alteration pitch)))
                                   fingerings))
                               '(lh . ())
                               '(rh . ()))
                        #})))
                  m))
            music)
       }
     >>
   #})


\tinWhistle
% Liste des doigtés. Les hauteurs sont sous la forme
% (A B) où A est la hauteur brute comptée à partir de
% 0 pour do, et B représente l'altération sous forme
% de fraction d'un ton (par exemple 1/2 pour un dièse
% ou -1/4 pour un demi-bémol).
#'(((0 0) . (one two three four five six))
   ((1 0) . (one two three four five))
   ((2 0) . (one two three four))
   ((4 0) . (one two three))
   ((6 0) . (one)))
\relative {
  c'1
  d
  e4 c g' b
}


Vous devrez entrer la liste des doigtés (je ne les connais pas).

Cordialement,
Jean




reply via email to

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