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
>          (parser location padding)
>          (number?)
>        #{
>          \once \override TextScript #'padding = $padding
>        #})

>     \relative c''' {
>       c4^"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
>          (parser location note)
>          (ly:music?)
>        #{
>          \once \override Voice.NoteHead #'stencil =
>            #ly:text-interface::print
>          \once \override Voice.NoteHead #'text =
>            \markup \musicglyph #"custodes.mensural.u0"
>          \once \override Voice.Stem #'stencil = ##f
>          $note
>        #})

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

Ersetzungsfunktionen mit mehrfachen Argumenten können definiert werden:

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

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

Andere Sprachen: English, español, 日本語.

#### LilyPond – Notationsreferenz