Siguiente: Evitar los trucos con un proceso ralentizado, Anterior: Encajar la música en menos páginas, Arriba: Trucar la salida
Hemos visto cómo la salida de LilyPond se puede modificar de manera muy profunda utilizando
comandos como
\override TextScript #'extra-offset = ( 1 . -1). Pero
tenemos un potencial incluso mayor si utilizamos Scheme. Para ver una explicación completa
de esto, consulte el Tutorial de Scheme e
Interfaces para programadores.
Podemos usar Scheme simplemente para sobreponer (\override) comandos,
padText = #(define-music-function (parser location padding) (number?)
#{
\once \override TextScript #'padding = #$padding
#})
\relative c''' {
c4^"piu mosso" b a b
\padText #1.8
c4^"piu mosso" d e f
\padText #2.6
c4^"piu mosso" fis a g
}
Podemos usarlo para crear comandos nuevos,
tempoMark = #(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
\tempoMark #3.0 #"Allegro"
g c
}
E incluso se le pueden pasar expresiones musicales.
pattern = #(define-music-function (parser location x y) (ly:music? ly:music?)
#{
$x e8 a b $y b a e
#})
\relative c''{
\pattern c8 c8\f
\pattern {d16 dis} { ais16-> b\p }
}
Siguiente: Evitar los trucos con un proceso ralentizado, Anterior: Encajar la música en menos páginas, Arriba: Trucar la salida
Esta página corresponde a LilyPond-2.11.31 (rama de desarrollo).
Informe de los fallos a http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.