[ << Tutorium ] | [Anfang][Inhalt][Index] | [ Übliche Notation >> ] |
[ < Alles zusammen ] | [ Nach oben : Wie werden Eingabe-Dateien geschrieben ] | [ Fehlerbehandlung > ] |
2.2.2 Arbeiten an Eingabe-Dateien
LilyPonds Quelldateien ähneln Dateien in den meisten
Programmiersprachen: Sie enthalten eine Versionsbezeichnung,
es ist auf Groß- und Kleinschreibung
zu achten und Leerzeichen werden ignoriert. Ausdrücke werden
mit geschweiften Klammern { }
eingeklammert und
mit dem Prozentzeichen ‘%’ auskommentiert
oder mit ‘%{ … %}’ umgeben.
Wenn das jetzt unverständlich erscheint, sind hier die Erklärungen:
-
Versionsbezeichnung:
Jede LilyPond-Datei soll eine Versionsbezeichnung enthalten. Eine
Versionsbezeichnung ist eine Zeile, die die Version von LilyPond
deklariert, für die die Datei geschrieben wurde, wie in dem
Beispiel:
\version "2.24.4"
Üblicherweise wird die Versionsbezeichnung ganz oben in die Datei geschrieben.
Die Versionsbezeichnung ist aus zwei Gründen wichtig: 1. kann man mit ihrer Hilfe automatische Aktualisierungen der Eingabedateien vornehmen, wenn sich die LilyPond-Syntax ändern sollte. 2. wird hier die Version von LilyPond beschrieben, die nötig ist, um die Datei zu kompilieren.
Wenn die Versionsbezeichnung in einer Datei fehlt, gibt LilyPond eine Warnung während der Kompilation der Datei aus.
- Groß- und Kleinschreibung: Die Bedeutung eines Zeichens verändert sich, je nachdem, ob es groß (‘A’, ‘B’, ‘S’, ‘T’) oder klein (‘a’, ‘b’, ‘s’, ‘t’) geschrieben wird. Noten müssen immer klein geschrieben werden, ‘{ c d e }’ funktioniert, während ‘{ C D E }’ einen Fehler produziert.
- Leerzeichen:
Es spielt keine Rolle, wie viele Leerzeichen oder Tabulatoren oder
leere Zeilen sich zwischen den Zeichen der Quelldatei befinden.
{ c d e }
bedeutet das Gleiche wie
{ c d e }
oder
{ c4 d e }
Natürlich ist das letzte Beispiel etwas schwer zu lesen. Eine gute Daumenregel ist es, Code-Blöcke mit zwei Leerzeichen einzurücken:
{ c4 d e }
Leerzeichen sind jedoch nötig, um viele syntaktische Elemente voneinander zu trennen. Leerzeichen können also immer hinzugefügt werden, aber sie dürfen nicht entfernt werden. Da fehlende Leerzeichen sehr seltsame Fehlermeldungen hervorrufen können, wird es nahe gelegt, immer ein Leerzeichen vor und nach jedem syntaktischen Element, etwa vor und nach geschweiften Klammern, einzufügen.
- Ausdrücke:
Auch der kleinste Abschnitt an LilyPond-Code muss in
{ geschweifte Klammern } eingeschlossen werden. Diese
Klammern zeigen LilyPond an, dass es sich um einen zusammengehörenden
musikalischen Ausdruck handelt, genauso wie Klammern ‚()‘ in der Mathematik.
Die Klammern sollten von jeweils einem Leerzeichen umgeben sein, um
Zweideutigkeiten auszuschließen, es sei denn, sie
befinden sich am Anfang oder Ende einer Zeile.
Ein LilyPond-Befehl gefolgt von einem einfachen Ausdruck in Klammern (wie etwa ‚
relative c' { … }
‘) wird auch als ein einzelner Musikausdruck gewertet. -
Kommentare:
Ein Kommentar ist eine Bemerkung für den menschlichen Leser
einer Quelldatei, es wird bei der Dateianalyse durch das Programm
ignoriert, so dass es also keine Auswirkung auf die Druckausgabe der
Noten hat. Es gibt zwei verschiedene Typen von Kommentaren. Das
Prozentzeichen ‘%’ geht einem Zeilen-Kommentar voraus: Alles
nach diesem Zeichen wird in dieser Zeile ignoriert.
Üblicherweise wird ein Kommentar über dem Code gesetzt,
auf den es sich bezieht.
a4 a a a % Dieser Kommentar bezieht sich auf die nächste Zeile mit den zwei Hs b2 b
Ein Block-Kommentar ist ein ganzer Abschnitt mit einem Kommentar. Alles, was von
%{
und%}
umgeben ist, wird ignoriert. Das heißt, dass sich ein Block-Kommentar nicht ein einem anderen Blockkommentar befinden kann. Wenn Sie das versuchen sollten, beendet schon das erste%}
beide Block-Kommentare. Das folgende Beispiel zeigt eine mögliche Anwendung von Kommentaren.% Noten für twinkle twinkle hier c4 c g' g a a g2 %{ Diese Zeilen, und die Noten unten werden ignoriert, weil sie sich in einem Block-Kommentar befinden. f4 f e e d d c2 %}
[ << Tutorium ] | [Anfang][Inhalt][Index] | [ Übliche Notation >> ] |
[ < Alles zusammen ] | [ Nach oben : Wie werden Eingabe-Dateien geschrieben ] | [ Fehlerbehandlung > ] |