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
}

[image of music]

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?)
   #{
     \tweak NoteHead.stencil #ly:text-interface::print
     \tweak NoteHead.text
        \markup \musicglyph #"custodes.mensural.u0"
     \tweak Stem.stencil ##f
     #note
   #})

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

[image of music]

Ersetzungsfunktionen mit mehrfachen Argumenten können definiert werden:

tempoPadded =
#(define-music-function
     (parser location padding tempotext)
     (number? markup?)
   #{
     \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
}

[image of music]


Andere Sprachen: English, español, français, italiano, 日本語.
About automatic language selection.

LilyPond – Notationsreferenz v2.17.97 (Entwicklungszweig).