5.6.2 Exemples de fonction de substitution
La présente rubrique regroupe quelques exemples de fonction substitutive. Le propos est ici d’illustrer les possibilités qu’offrent les fonctions de substitution simple.
Dans ce premier exemple, nous définissons une fonction dans le but de
simplifier le réglage du décalage d’une annotation (un
TextScript
).
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" b a b \padText #2.6 c4^"piu mosso" b a b }
Nous pouvons utiliser autre chose que des nombres au sein d’une fonction, y compris une expression musicale :
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 }
Une fonction de substitution peut traiter plusieurs arguments :
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 }
Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.