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

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

Re: [Fisarmonica] - comment utiliser \musicMap ?


From: Gilles
Subject: Re: [Fisarmonica] - comment utiliser \musicMap ?
Date: Fri, 07 Jun 2013 00:07:02 +0200
User-agent: Opera Mail/12.15 (Linux)

Le Thu, 06 Jun 2013 07:08:58 +0200, Daniel Cartron <address@hidden> a écrit:

Le mercredi 5 juin 2013 19:54:41 address@hidden a écrit :
(ly:music-property music 'pitch)  ; <- un pitch

Ça va vraiment me renvoyer le pitch complet ? Sous quelle forme, '(x x x) ?

Le pitch complet oui. Si tu veux acceder aux différents composantes du pitch, tu as les fonctions que tu connais ly:pitch-octave, ly:pitch-notename, ly:pitch-alteration. Si tu préfères les avoir sous la forme de liste, tu écris

(let ((p (ly:music-property music 'pitch))
  (list (ly:pitch-octave p) (ly:pitch-notename p) (ly:pitch-alteration p)))
.
Je n'ai aucune idée de comment les pitch sont mis en interne en mémoire, et pour une utilisation courante, on n'a pas à le savoir. Ce que nous renvoie display et display-scheme-music n'est qu'une représentation du pitch, en texte, c'est de l'infos simplement (voir ci-dessous)

Si oui ça m'arrange, ça simplifiera mon code, mais il faudra que ré-écrive
tout...

En attendant un simple (display (ly:music-property note-event 'pitch) ) me
renvoie (), donc rien ne marche...


manote = a1-3\5-\rightHandFinger #4

#(display "\n***** La note en entier *****\n")
#(display-scheme-music manote)

#(display "\n***** Le  pitch *****\n")
#(display (ly:music-property manote 'pitch))
#(newline)
#(display-scheme-music (ly:music-property manote 'pitch))

#(display "\n***** Les arti *****\n")
#(let ((arti (ly:music-property manote 'articulations)))
   (for-each
     (lambda(evt)
       (let ((name (ly:music-property evt 'name)))
        (cond ((eq? name 'FingeringEvent)
                 (format #t "  FingeringEvent : digit = ~a"
                   (ly:music-property evt 'digit)))
              ((eq? name 'StringNumberEvent)
                 (format #t "\n  StringNumberEvent : string-number = ~a"
                   (ly:music-property evt 'string-number)))
              ((eq? name 'StrokeFingerEvent)
                 (format #t "\n  StrokeFingerEvent : digit = ~a"
                   (ly:music-property evt 'digit)))
          )))
     arti))


\manote

--
Gilles



reply via email to

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