A.3.2 Propietats musicals
Vejam un exemple:
someNote = c' \displayMusic \someNote ===> (make-music 'NoteEvent 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch 0 0 0))
L’objecte NoteEvent és la representació de
someNote. Senzill. I si posem el c’ dins d’un acord?
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))))
Ara l’object NoteEvent és el primer objecte de la propietat
'elements de someNote.
La funció display-scheme-music és la funció que s’usa
per part de \displayMusic per imprimir la representació
per part de \displayMusic per imprimir la representació
de Scheme d’una expressió musical.
#(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))
Després s’accedeix a l’altura de la nota mitjançant a propietat
'pitch de l’objecte NoteEvent:
#(display-scheme-music
(ly:music-property (first (ly:music-property someNote 'elements))
'pitch))
===>
(ly:make-pitch 0 0 0)
L’altura de la nota es pot canviar establint el valor d’aquesta propietat
'pitch.
#(set! (ly:music-property (first (ly:music-property someNote 'elements))
'pitch)
(ly:make-pitch 0 1 0)) ;; establir l'altura a d'.
\displayLilyMusic \someNote
===>
d'4