Extending LilyPond: 1.3.2 Music properties

### 1.3.2 Music properties

TODO – make sure we delineate between music properties, context properties, and layout properties. These are potentially confusing.

The `NoteEvent` object is the first object of the `'elements` property of `someNote`.

>     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))))

The `display-scheme-music` function is the function used by `\displayMusic` to display the Scheme representation of a music expression.

>     #(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))

Then the note pitch is accessed through the `'pitch` property of the `NoteEvent` object,

>     #(display-scheme-music
>        (ly:music-property (first (ly:music-property someNote 'elements))
>                           'pitch))
>     ===>
>     (ly:make-pitch 0 0 0)

The note pitch can be changed by setting this `'pitch` property,

>     #(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'

Andere talen: deutsch, español.

#### LilyPond — Extending