Weiter: , Zurück: Erweiterung der Beispiele, Nach oben: Alles zusammenfügen


3.2 Wie eine LilyPond-Datei funktioniert

Das LilyPond Eingabeformat hat eine ziemlich freie Form, so dass für erfahrene Benutzer viel Freiheit besteht, die Struktur ihrer Quelldateien anzulegen. Für Neulinge kann diese Flexibilität aber erst einmal verwirrend sein. In diesem Kapitel soll darum ein Teil dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung auch weggelassen werden. Für eine komplette Beschreibung des Eingabeformats siehe Die Dateistruktur.

Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie etwa dieser:

c4 a b c

Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht in dieser Form übersetzen. Diese Beispiele sind also nur Kurzformen von wirklichen Beispielen. Sie müssen wenigstens zusätzlich in geschweifte Klammern gesetzt werden.

{
  c4 a b c
}

Die meisten Beispiele benutzen auch den \relative c'-Befehl. Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten Fällen sieht der Notensatz seltsam aus, wenn man den Befehl weglässt.

     
     \relative c'' {
       c4 a b c
     }

[image of music]

Jetzt kommt noch eine Ebene dazu: LilyPond-Code in der obigen Form ist in Wirklichkeit auch wieder eine Abkürzung. Auch wenn man so Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt der wirkliche Code, der hier gemeint ist, eigentlich:

\score {
  \relative c'' {
    c4 a b c
  }
}

Eine Partitur (\score) muss immer mit einem musikalischen Ausdruck beginnen. Das ist letztendlich alle Musik, angefangen bei einer einzelnen Note bis hin zu einer riesigen Partitur mit vielen Notensystemen (bezeichnet durch GrandStaff):

{
  \new GrandStaff <<
    hier die gesamte Partitur
  >>
}

Da sich alles innerhalb der geschweiften Klammern { ... } befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.

Ein \score auch andere Dinge enthalten, wie etwa

\score {
  { c'4 a b c' }
  \layout { }
  \midi { }
  \header { }
}

Viele setzen einige dieser Befehle außerhalb des \score-Blocks, zum Beispiel wird der \header sehr oft oberhalb der \score-Umgebung gesetzt. Das funktioniert genauso gut.

Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen. Alle Vorlagen verwenden diese Möglichkeit.

melodie = \relative c' {
  c4 a b c
}

\score {
  { \melodie }
}

Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt von melodie (alles, was nach dem Gleichheitszeichen kommt) und fügt ihn immer dann ein, wenn ein \melodie vorkommt. Die Namen sind frei wählbar, die Variable kann genauso gut melodie, GLOBAL, rechteHandklavier, oder foofoobarbaz heißen. Für mehr Information siehe Tipparbeit sparen durch Bezeichner und Funktionen.

Eine komplette Definition des Eingabeformats findet sich im Kapitel Die Dateistruktur.


Weiter: , Zurück: Erweiterung der Beispiele, Nach oben: Alles zusammenfügen

Diese Seite ist für LilyPond-2.11.31 (Entwicklungszweig).

Fehler bitte an http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs melden.

Your suggestions for the documentation are welcome.

Andere Sprachen: English, français, español.