GNU LilyPond – Extension des fonctionnalités: 1.3.2 Propriétés musicales

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

#### LilyPond — Extension des fonctionnalités v2.22.2 (branche stable).