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