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

Extender LilyPond v2.25.32 (development-branch).