LilyPond erweitern: 2.1.4 Mathematik in Funktionen

### 2.1.4 Mathematik in Funktionen

Musikalische Funktionen können neben einfachen Ersetzungen auch Scheme-Programmcode enthalten:

>     AltOn =
>     #(define-music-function
>          (parser location mag)
>          (number?)
>        #{
>          \override Stem #'length = $(* 7.0 mag)
>          \override NoteHead #'font-size =
>            $(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
>        #})

>     AltOff = {
>       \revert Stem #'length
>       \revert NoteHead #'font-size
>     }

>     \relative c' {
>       c2 \AltOn #0.5 c4 c
>       \AltOn #1.5 c c \AltOff c2
>     }

Dieses Beispiel kann auch umformuliert werden, um musikalische Ausdrücke zu integrieren:

>     withAlt =
>     #(define-music-function
>          (parser location mag music)
>          (number? ly:music?)
>        #{
>          \override Stem #'length = $(* 7.0 mag)
>          \override NoteHead #'font-size =
>            $(inexact->exact (* (/ 6.0 (log 2.0)) (log mag)))
>          $music
>          \revert Stem #'length
>          \revert NoteHead #'font-size
>        #})

>     \relative c' {
>       c2 \withAlt #0.5 { c4 c }
>       \withAlt #1.5 { c c } c2
>     }

Andere Sprachen: English, español.

#### LilyPond – Extending