1.3.2 Propriétés musicales
Nous abordons ici les propriétés music, et non pas les propriétés context ou layout.
Partons de cet exemple simple :
someNote = c' \displayMusic \someNote ===> (make-music 'NoteEvent 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0))
L’objet NoteEvent est la représentation brute de someNote.
Voyons ce qui se passe lorsque nous plaçons ce c’ dans une
construction d’accord :
someNote = <c'>
\displayMusic \someNote
===>
(make-music
'EventChord
'elements
(list (make-music
'NoteEvent
'duration
(ly:make-duration 2 0 1/1)
'pitch
(ly:make-pitch 0 0 0))))
L’objet NoteEvent est maintenant le premier objet de la propriété
'elements de someNote.
\displayMusic utilise la fonction display-scheme-music
pour afficher la représentation en Scheme d’une expression musicale :
#(display-scheme-music (first (ly:music-property someNote 'elements))) ===> (make-music 'NoteEvent 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0))
La hauteur de la note est accessible au travers de la propriété
'pitch de l’objet NoteEvent :
#(display-scheme-music
(ly:music-property (first (ly:music-property someNote 'elements))
'pitch))
===>
(ly:make-pitch 0 0 0)
La hauteur de la note se modifie en définissant sa propriété
'pitch :
#(set! (ly:music-property (first (ly:music-property someNote 'elements))
'pitch)
(ly:make-pitch 0 1 0)) ;; set the pitch to d'.
\displayLilyMusic \someNote
===>
d'4