Referencia de la notación de GNU LilyPond: 6.1.1 Overview of music functions

### 6.1.1 Overview of music functions

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 (parser location var1 var2...vari... )
>                             (var1-type? var2-type?...vari-type?...)
>       #{
>         ...música...
>       #})

donde

vari | i-ésima variable
vari-type? | tipo de la i-ésima variable
...música... | entrada normal de LilyPond, usando las variables como `#$var1`, etc.

Los siguientes tipos de entrada se pueden usar como variables en una función musical. Esta lista no es exhaustiva; consulte otros lugares de la documentación específica de Scheme para ver otros tipos de variables.

Tipo de entrada | notación de vari-type?
--- | ---
Entero | `integer?`
Flotante (número decimal) | `number?`
Cadena de texto | `string?`
Marcado | `markup?`
Expresión musical | `ly:music?`
Pareja de variables | `pair?`

Los argumentos `parser` y `location` son obligatorios, y se usan en ciertas situaciones avanzadas. El argumento `parser` se usa para tener acceso al valor de otra variable de LilyPond. El argumento `location` se usa para establecer el ‘origen’ de la expresión musical que construye la función musical, de forma que en caso de producirse un error de sintaxis LilyPond pueda informar al usuario de un lugar adecuado donde buscar en el archivo de entrada.

Other languages: English.

#### Manual de referencia de la notación