Arriba: Tutorial de Scheme
Hemos visto cómo la salida de LilyPond se puede modificar
profundamente usando instrucciones como \override TextScript
#'extra-offset = ( 1 . -1)
. Pero tenemos incluso mucho más poder si
utilizamos Scheme. Para ver una explicación completa de esto,
consulte el Tutorial de Scheme, y programmers
Interfaces para programadores.
Podemos usar Scheme simplemente para sobreescribir instrucciones con
\override
,
Lo podemos usar para crear instrucciones nuevas:
marcaDeTempo = #(define-music-function (parser location padding marktext) (number? string?) #{ \once \override Score . RehearsalMark #'padding = $padding \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0) \mark \markup { \bold $marktext } #}) \relative c'' { c2 e \marcaDeTempo #3.0 #"Allegro" g c }
Incluso se le pueden pasar expresiones musicales:
patron = #(define-music-function (parser location x y) (ly:music? ly:music?) #{ $x e8 a b $y b a e #}) \relative c''{ \patron c8 c8\f \patron {d16 dis} { ais16-> b\p } }
Esta página corresponde a LilyPond-2.11.58 (rama de desarrollo).
Informe de los fallos a través de la lista en español lilypond-es, o en inglés a través de http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Se agradecen las sugerencias para la documentación.
Otros idiomas: English.