nächstes: Stil-Dateien, voriges: Große Projekte, aufwärts: Vorschläge, wie LilyPond-Eingabe-Dateien geschrieben werden sollen
Bis jetzt haben Sie immer etwa solche Noten gesehen:
HornNoten = \relative c'' { c4 b dis c } \score { { \HornNoten } }
Das könnte auch nützlich in Minimal-Music sein:
fragA = \relative c'' { a4 a8. b16 } fragB = \relative c'' { a8. gis16 ees4 } Geige = \new Staff { \fragA \fragA \fragB \fragA } \score { { \Geige } }
Sie können diese Bezeichner oder Variablen aber auch für (eigene) Einstellungen verwenden:
dolce = \markup{ \italic \bold dolce } AbstandText = { \once \override TextScript #'padding = #5.0 } FdannP=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } Geige = \relative c'' { \repeat volta 2 { c4._\dolce b8 a8 g a b | \AbstandText c4.^"hi there!" d8 e' f g d | c,4.\FdannP b8 c4 c-. | } } \score { { \Geige } \layout{ragged-right=##t} }
Die Variablen haben in diesem Beispiel deutlich die Tipparbeit erleichtert. Aber es lohnt sich, sie zu einzusetzen, auch wenn man sie nur einmal anwendet, denn sie vereinfachen die Struktur. Hier ist das vorangegangene Beispiel ohne Variablen. Es ist sehr viel komplizierter zu lesen, besonders die letzte Zeile.
violin = \relative c'' { \repeat volta 2 { c4._\markup{ \italic \bold dolce } b8 a8 g a b | \once \override TextScript #'padding = #5.0 c4.^"hi there!" d8 e' f g d | c,4.\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p } b8 c4 c-. | } }
Bis jetzt wurde nur statische Substitution vorgestellt
– wenn LilyPond den Befehl \padText
findet, wird
er ersetzt durch durch unsere vorherige Definition (alles,
was nach dem padtext =
kommt).
LilyPond kennt aber auch nicht-statische Substitutionen (man kann sie sich als Funktionen vorstellen).
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 }
Die Benutzung von Variablen hilft auch, viele Schreibarbeit zu
vermeiden, wenn die Eingabesyntax von LilyPond sich verändert
(siehe auch Alte Dateien aktualisieren). Wenn nur eine einzige
Definition (etwa \dolce
) für alle Dateien verwendet wird
(vgl. Stil-Dateien), muss nur diese einzige Definition
verändert werden, wenn sich die Syntax ändert. Alle Verwendungen
des Befehles beziehen sich dann auf die neue Definition.
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.