LilyPond Benutzerhandbuch: 5.6.2 Beispiele der Ersetzungsfunktionen

### 5.6.2 Beispiele der Ersetzungsfunktionen

Dieser Abschnitt zeigt einige Beispiele von Ersetzungsfunktionen. Sie sind nicht vollständig, sondern sollen einige der Möglichkeiten von einfachen Ersetzungsfunktionen aufzeigen.

Im ersten Beispiel wird eine Funktione definiert, die das Verschieben von `TextScript` erleichtert:

>     padText =
>     #(define-music-function
>          (padding)
>          (number?)
>        #{
>          \once \override TextScript.padding = #padding
>        #})

>     \relative {
>       c'''4^"piu mosso" b a b
>       \padText #1.8
>       c4^"piu mosso" d e f
>       \padText #2.6
>       c4^"piu mosso" fis a g
>     }

Neben Zahlen können auch musikalische Ausdrücke wie Noten als Argumente für musikalische Funktionen eingesetzt werden:

>     custosNote =
>     #(define-music-function
>          (note)
>          (ly:music?)
>        #{
>          \tweak NoteHead.stencil #ly:text-interface::print
>          \tweak NoteHead.text
>             \markup \musicglyph "custodes.mensural.u0"
>          \tweak Stem.stencil ##f
>          #note
>        #})

>     \relative { c'4 d e f \custosNote g }

Ersetzungsfunktionen mit mehrfachen Argumenten können definiert werden:

>     tempoPadded =
>     #(define-music-function
>          (padding tempotext)
>          (number? markup?)
>        #{
>          \once \override Score.MetronomeMark.padding = #padding
>          \tempo \markup { \bold #tempotext }
>        #})

>     \relative {
>       \tempo \markup { "Low tempo" }
>       c''4 d e f g1
>       \tempoPadded #4.0 "High tempo"
>       g4 f e d c1
>     }

#### LilyPond – Notationsreferenz v2.22.2 (stabiler Zweig).