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 #$var1 usw. benutzt werden.

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

integer?

Float (Dezimalzahl)

number?

Zeichenkette

string?

Textbeschriftung

markup?

Musikalischer Ausdruck

ly:music?

Ein Variablenpaar

pair?

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.


LilyPond – Extending