22.3.1 Sintaxis de las funciones de sustitución

Es fácil hacer una función que sustituya a una variable en código de LilyPond. La forma general de estas funciones es

function =
#(define-music-function
     (arg1 arg2 …)
     (tipo1? tipo2? …)
   #{
     …música…
   #})

donde

argNEl n-ésimo argumento.
tipoN?Un predicado_de_tipo de Scheme para el que argN debe devolver #t.
…música…Código normal de entrada de LilyPond, que usa ‘$’ (en aquellos lugares donde solo se admiten construcciones de LilyPond) o ‘#’ (para usarlo como un valor de Scheme o argumento de función musical o música dentro de listas de música) para referenciar argumentos (p.ej., ‘#arg1’).

La lista de predicados de tipo es obligatoria. Algunos de los predicados de tipo más comunes que se usan en las funciones musicales son:

Para ver una lista de los predicados de tipo disponibles, see Predicados de tipo predefinidos. También se permiten predicados de tipo definidos por el usuario.

Véase también

Referencia de la notación: Predicados de tipo predefinidos.

Manual de extensión de LilyPond: Music functions.

Archivos instalados: lily/music-scheme.cc, scm/c++.scm, scm/lily.scm.


Referencia de la notación de GNU LilyPond v2.25.30 (development-branch).