Referencia de la notación de GNU LilyPond: 5.6.2 Ejemplos de funciones de sustitución

### 5.6.2 Ejemplos de funciones de sustitución

Esta sección presenta algunos ejemplos de funciones de sustitución. No pretenden ser exhaustivas, sino demostrar algunas de las posibilidades de las funciones de sustitución sencillas.

En el primer ejemplo se define una función que simplifica el ajuste del relleno de un elemento de inscripción de texto 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" d e f
>       \padText #2.6
>       c4^"piu mosso" fis a g
>     }

Además de números, podemos usar expresiones musicales, como notas, para los argumentos de las funciones musicales:

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

Se pueden definir funciones de sustitución con más de un argumento:

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

Otros idiomas: English, deutsch, 日本語.

#### LilyPond — Referencia de la notación