B.1.1 Überblick über musikalische Funktionen
Es ist einfach, eine Funktion zu erstellen, die Variablen im LilyPond-Code ersetzt. Die allgemeine Form derartiger Funktionen ist
function = #(define-music-function (parser location var1 var2...vari... ) (var1-type? var2-type?...vari-type?...) #{ ...Noten... #})
wobei
vari | die ite Variable |
vari-type? | die Art der iten Variable |
...Noten... | normaler LilyPond-Code, in dem Variablen
wie |
Die folgenden Eingabetypen können als Variablen in einer musikalischen Funktion benutzt werden. Diese Liste ist nicht vollständig – siehe auch andere Dokumentationen überScheme für weitere Variablenarten.
Eingabetyp | vari-type?-Notation |
---|---|
Ganzzahl | |
Float (Dezimalzahl) | |
Zeichenkette | |
Textbeschriftung | |
Musikalischer Ausdruck | |
Ein Variablenpaar | |
Die Argumente parser
und location
sind zwingend erforderlich
und werden in einigen fortgeschrittenen Situationen eingesetzt. Das
Argument parser
wird benutzt, um auf den Wert einer weiteren
LilyPond-Variable zuzugreifen. Das Argument location
wird
benutzt, um den „Ursprung“ des musikalischen Ausdrucks zu definieren, der von
der musikalischen Funktion erzeugt wird. Das hilft, wenn ein
Syntaxfehler auftaucht: in solchen Fällen kann LilyPond mitteilen,
an welcher Stelle in der Eingabedatei sich der Fehler befindet.