voriges: Vermeiden von Optimierungen durch langsamere Übersetzung, aufwärts: Weitere Optimierungen
Es wurde schon gezeigt, wie die LilyPond-Ausgabe sehr stark verändert
werden kann, indem man Befehle wie
\override TextScript #'extra-offset = ( 1 . -1) benutzt. Aber
noch mehr Einfluss auf die Formatierung kann durch den Einsatz von
Scheme genommen werden. Eine vollständige Erklärung findet sich in der
Scheme-Übung und den
Schnittstellen für Programmierer.
Scheme kann benutzt werden, um einfach nur Befehle zu „überschreiben“
(\override):
AbstandText = #(define-music-function (parser location padding) (number?)
#{
\once \override TextScript #'padding = #$padding
#})
\relative c''' {
c4^"piu mosso" b a b
\AbstandText #1.8
c4^"piu mosso" d e f
\AbstandText #2.6
c4^"piu mosso" fis a g
}
Hiermit können aber auch neue Befehle erstellt werden:
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 musikalische Ausdrü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 }
}
Diese Seite ist für LilyPond-2.11.58 (Entwicklungszweig).
Fehler bitte an http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs melden.
Ihre Vorschläge für die Dokumentation sind willkommen.