### 1.3.1 Displaying music expressions

When writing a music function it is often instructive to inspect how a music expression is stored internally. This can be done with the music function `\displayMusic`

>     {
>       \displayMusic { c'4\f }
>     }

will display

>     (make-music
>       'SequentialMusic
>       'elements
>       (list (make-music
>               'NoteEvent
>               'articulations
>               (list (make-music
>                       'AbsoluteDynamicEvent
>                       'text
>                       "f"))
>               'duration
>               (ly:make-duration 2 0 1/1)
>               'pitch
>               (ly:make-pitch 0 0 0))))

By default, LilyPond will print these messages to the console along with all the other messages. To split up these messages and save the results of `\display{STUFF}`, redirect the output to a file.

>     lilypond file.ly >display.txt

With a combined bit of Lilypond and Scheme magic, you can actually let Lilypond direct just this output to a file of its own:

>     {
>       #(with-output-to-file "display.txt"
>           (lambda () #{ \displayMusic { c'4\f } #}))
>     }

A bit of reformatting makes the above information easier to read:

>     (make-music 'SequentialMusic
>       'elements (list
>     	     (make-music 'NoteEvent
>                    'articulations (list
>     			       (make-music 'AbsoluteDynamicEvent
>     				 'text
>     				 "f"))
>     	       'duration (ly:make-duration 2 0 1/1)
>     	       'pitch    (ly:make-pitch 0 0 0))))

A `{ … }` music sequence has the name `SequentialMusic`, and its inner expressions are stored as a list in its `'elements` property. A note is represented as a `NoteEvent` object (storing the duration and pitch properties) with attached information (in this case, an `AbsoluteDynamicEvent` with a `"f"` text property) stored in its `articulations` property.

`\displayMusic` returns the music it displays, so it will get interpreted as well as displayed. To avoid interpretation, write `\void` before `\displayMusic`.

其他语言：deutsch, español, français。
About automatic language selection.

#### LilyPond — Extending v2.18.2 (稳定分支).