Arriba: Tutorial de Scheme


B.1 Trucos con 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
     }

[image of music]

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

[image of music]

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.