Extender LilyPond: B.1.3 Funciones de sustitución intermedias

### B.1.3 Funciones de sustitución intermedias

Las funciones de sustitución intermedias contienen una mezcla de código de Scheme y de LilyPond dentro de la expresión musical que se devuelve.

Algunas instrucciones `\override` requieren un argumento que consiste en una pareja de números (llamada una célula cons en Scheme).

La pareja se puede pasar directamente dentro de la función musical, usando una variable `pair?`:

>     barraManual =
>     #(define-music-function
>          (parser location principio-final)
>          (pair?)
>        #{
>          \once \override Beam #'positions = $principio-final
>        #})

>     \relative c' {
>       \barraManual #'(3 . 6) c8 d e f
>     }

De forma alternativa, los números que componen la pareja se pueden pasar como argumentos separados, y el código de Scheme que se ha usado para crear la pareja se puede incluir dentro de la expresión musical:

>     manualBeam =
>     #(define-music-function
>          (parser location beg end)
>          (number? number?)
>        #{
>          \once \override Beam #'positions = $(cons beg end)
>        #})

>     \relative c' {
>       \manualBeam #3 #6 c8 d e f
>     }

Otros idiomas: English, deutsch.

#### LilyPond — Extender