| [ << Scheme-Übung ] | [Anfang][Inhalt][Index][ ? ] | [ GNU Free Documentation License >> ] | ||
| [ < Scheme-Übung ] | [ Nach oben : Scheme-Übung ] | [ GNU Free Documentation License > ] | ||
B.1 Optimierungen mit Scheme
Wir haben gesehen wie LilyPond-Eingabe massiv beeinflusst
werden kann, indem Befehle wie etwa
\override TextScript #'extra-offset = ( 1 . -1)
benutzt werden. Aber es wurde gezeigt, dass Scheme noch
mächtiger ist. Eine bessere Erklärung findet sich in derScheme-Übung und in
Schnittstellen für Programmierer.
Scheme kann auch in einfachen \override-Befehlen
benutzt werden:
TODO Find a simple example
Es kann auch benutzt werden, um Befehle zu erstellen:
tempoZeichen = #(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
\tempoZeichen #3.0 #"Allegro"
g c
}
Sogar ganze Musikausdrücke können eingefügt werden:
Muster = #(define-music-function (parser location x y) (ly:music? ly:music?)
#{
$x e8 a b $y b a e
#})
\relative c''{
\Muster c8 c8\f
\Muster {d16 dis} { ais16-> b\p }
}
| [ << Scheme-Übung ] | [Anfang][Inhalt][Index][ ? ] | [ GNU Free Documentation License >> ] | ||
| [ < Scheme-Übung ] | [ Nach oben : Scheme-Übung ] | [ GNU Free Documentation License > ] | ||