5.2.1 Eigenschaften von Layoutobjekten
Angenommen, in Ihrer Partitur tritt ein Legatobogen
auf, der Ihrer Meinung nach zu dünn ausgefallen ist.
Sie würden ihn gerne etwas schwerer gezeichnet
sehen. Wie gehen Sie vor? Von den Anmerkungen in
früheren Abschnitten wissen Sie schon, dass LilyPond
sehr flexibel ist und eine derartige Modifikation
möglich sein sollte, und Sie erraten vielleicht,
dass ein \override
-Befehl angebracht ist.
Aber gibt es eine Eigenschaft für die Dicke eines
Legatobogens (engl. slur), und wenn es sie gibt,
auf welche Weise lässt sie sich verändern? Hier
kommt die Referenz der Interna zur Geltung. Dort
finden sich alle Informationen, um den beschriebenen
und alle anderen \override
-Befehle zu
konstruieren.
Bevor Sie jetzt in die Referenz der Interna wechseln, ist eine Warnung angebracht. Es handelt sich um ein Referenzdokument, was heißt, dass es sehr wenig oder gar keine Erklärungen enthält: seine Aufgabe ist es, Information klar und genau darzustellen. Das bedeutet, dass es auf den ersten Blick entmutigend wirkt. Die Einführung und Erklärung in diesem Abschnitt wird Ihnen aber schnell ermöglichen, genau die Information aus der Referenz zu entnehmen, die Sie benötigen. Beachten Sie, dass die Referenz der Interna nur auf Englisch existiert. Um die Eigenschaftsbezeichnung eines bestimmten Objektes zu finden, können Sie das Glossar (siehe Musikglossar) verwenden, in dem die englischen Begriffe in viele andere Sprachen übersetzt sind.
Das Vorgehen soll an einem konkreten Beispiel einer echten Komposition demonstriert werden. Hier das Beispiel:
{ \key es \major \time 6/8 \relative { r4 bes'8 bes[( g]) g | g8[( es]) es d[( f]) as | as8 g } \addlyrics { The man who | feels love's sweet e -- | mo -- tion } }
Angenommen also, wir wollen die Legatobögen etwas dicker setzten. Ist das möglich? Die Legatobögen sind mit Sicherheit ein Layout-Objekt, die Frage muss also lauten: „Gibt es eine Eigenschaft von Legatobögen, die die Dicke bestimmt?“ Um diese Frage zu beantworten, müssen wir in der Referenz der Interna ( kurz IR) nachschauen.
Die IR für die LilyPond-Version, die Sie benutzen, findet sich auf der LilyPond-Webseite unter der Adresse https://lilypond.org. Gehen Sie zur Dokumentationsseite und klicken Sie auf den Link zur Referenz der Interna. Die Sprache ändert sich ab hier nach englisch. Für diese Übung sollten Sie die HTML-Version benutzen, nicht die „auf einer großen Seite“ oder die PDF-Version. Damit Sie die nächsten Absätze verstehen können, müssen Sie genauso vorgehen, während Sie weiterlesen.
Unter der Überschrift Top befinden sich fünf Links. Wählen Sie den Link zum Backend, wo sich die Information über Layout-Objekte befindet. Hier, unter der Überschrift Backend, wählen Sie den Link All layout objects. Die Seite, die sich öffnet, enthält ein Liste aller Layout-Objekte, die in Ihrer LilyPond-Version benutzt werden, in alphabetischer Ordnung. Wählen Sie den Link Slur und die Eigenschaften der Legatobögen (engl. slur) werden aufgelistet.
Eine alternative Methode, auf diese Seite zu gelangen, ist von der Notationsreferenz aus. Auf einer der Seiten zu Legatobögen findet sich ein Link zur Referenz der Interna. Dieser Link führt Sie direkt auf diese Seite. Wenn Sie aber eine Ahnung haben, wie die Bezeichnung des Layout-Objektes lauten könnte, das sie ändern wollen, ist es oft schneller, direkt zur IR zu gehen und dort nachzuschlagen.
Der Slur-Seite in der IR können wir entnehmen, dass Legatobögen (Slur-Objekte) durch den Slur_engraver erstellt werden. Dann werden die Standardeinstellungen aufgelistet. Schauen Sie sich die Liste an, ob sie eine Eigenschaft enthält, mit der die Dicke von Legatobögen kontrolliert werden kann. Sie sollten folgendes finden:
thickness (number) 1.2 Line thickness, generally measured in line-thickness
Das sieht ganz danach aus, als ob damit die Dicke geändert
werden kann. Es bedeutet, dass der Wert von
thickness
einfach eine Zahl (number) ist,
dass der Standardwert 1.2 ist, und dass die Einheit
für die Dicke eine andere Eigenschaft mit der
Bezeichnung line-thickness
ist.
Wie schon früher gesagt, gibt es wenig bis gar keine Erklärungen
in der IR, aber wir haben schon genug Informationen, um
zu versuchen, die Dicke eines Legatobogens zu ändern. Die
Bezeichnung des Layout-Objekts ist offensichtlich Slur
und die Bezeichnung der Eigenschaft, die geändert werden soll
thickness
. Der neue Wert sollte etwas mehr als 1.2 sein,
denn der Bogen soll ja dicker werden.
Den benötigten \override
-Befehl können wir jetzt einfach
konstruieren, indem wir die Werte für die Bezeichnungen in den
Modellbefehl einfügen und den Kontext auslassen. Setzen wir
einmal einen sehr großen Wert für die Dicke um zu sehen, ob der
Befehl auch funktioniert. Also:
\override Slur.thickness = #5.0
Vergessen Sie nicht das #
vor dem neuen Wert!
Die nächste Frage ist nun: „Wohin soll dieser Befehl geschrieben werden?“ Solange wir uns noch im Lernstadium befinden, ist die beste Antwort: „Innerhalb der Noten, vor den ersten Legatobogen und nahe bei ihm.“ Also etwa so:
{ \key es \major \time 6/8 \relative { % Increase thickness of all following slurs from 1.2 to 5.0 \override Slur.thickness = #5.0 r4 bes'8 bes[( g]) g | g8[( es]) es d[( f]) as | as8 g } \addlyrics { The man who | feels love's sweet e -- | mo -- tion } }
und wirklich wird der Legatobogen dicker.
Das ist also die grundlegende Herangehensweise,
\override
-Befehl zu formulieren. Es gibt einige
zusätzliche Komplikationen, denen wir uns später widmen
werden, aber Sie haben jetzt das Handwerkszeug, um Ihre
eigenen Befehle zu konstruieren – wenn Sie auch noch etwas
Übung benötigen. Die sollen Sie durch die folgenden Übungen
erhalten.
Den Kontext finden
Manchmal muss dennoch der Kontext spezifiziert werden.
Welcher aber ist der richtige Kontext? Wir könnten raten,
dass Legatobögen sich im Voice
-Kontext befinden,
denn sie sind immer einzelnen Melodielinien zugewiesen.
Aber wir können uns dessen nicht sicher sein. Um unsere
Annahme zu überprüfen, gehen wir wieder zu der Seite im
IR, die die Legatobögen beschreibt und die Überschrift
Slur hat. Dort steht: „Slur objects are created
by: Slur engraver“. Legatobögen werden also in dem Kontext
erstellt, in dem sich der Slur_engraver
befindet.
Folgen Sie dem Link zu der Slur_engraver
-Seite.
Unten auf der Seite steht, dass der Slur_engraver
sich in acht Stimmen-Kontexten befindet, unter anderem
auch im normalen Voice
-Kontext. Unsere Annahme
war also richtig. Und weil Voice
einer der Kontexte
der untersten Ebene ist, welcher eindeutig schon dadurch
definiert ist, dass wir Noten eingeben, kann er an dieser Stelle
auch weggelassen werden.
Nur einmal mit \override verändern
Im Beispiel oben wurden alle Legatobögen dicker
gesetzt. Vielleicht wollen Sie aber nur den ersten Bogen
dicker haben. Das können Sie mit dem \once
-Befehl
erreichen. Er wird direkt vor den \override
-Befehl
gesetzt und bewirkt, dass nur der Bogen geändert wird, der
unmittelbar an der nächsten Note beginnt. Wenn
die nächste Note keinen Bogenbeginn hat, dann passiert
gar nichts – der Befehl wird nicht gespeichert, sondern einfach
vergessen. Der Befehl, mit \once
zusammen benutzt,
muss also wie folgt positioniert werden:
{ \key es \major \time 6/8 \relative { r4 bes'8 % Increase thickness of immediately following slur only \once \override Slur.thickness = #5.0 bes8[( g]) g | g8[( es]) es d[( f]) as | as8 g } \addlyrics { The man who | feels love's sweet e -- | mo -- tion } }
Jetzt bezieht er sich nur noch auf den ersten Legatobogen.
Der \once
-Befehl kann übrigens auch vor einem \set
-Befehl
eingesetzt werden.
Rückgängig machen
Eine weitere Möglichkeit: nur die beiden ersten Legatobögen sollen
dicker gesetzt werden. Gut, wir könnten jetzt zwei Befehle benutzen,
jeden mit dem \once
-Präfix und direkt vor die entsprechende
Note gestellt, an welcher der Bogen beginnt:
{ \key es \major \time 6/8 \relative { r4 bes'8 % Increase thickness of immediately following slur only \once \override Slur.thickness = #5.0 bes[( g]) g | % Increase thickness of immediately following slur only \once \override Slur.thickness = #5.0 g8[( es]) es d[( f]) as | as8 g } \addlyrics { The man who | feels love's sweet e -- | mo -- tion } }
Wir könnten aber auch den \once
-Befehl weglassen und anstelle
dessen später den \revert
-Befehl einsetzen, um die
thickness
-Eigenschaft wieder auf ihren Standardwert zurückzusetzen:
{ \key es \major \time 6/8 \relative { r4 bes'8 % Increase thickness of all following slurs from 1.2 to 5.0 \override Slur.thickness = #5.0 bes[( g]) g | g8[( es]) es % Revert thickness of all following slurs to default of 1.2 \revert Slur.thickness d8[( f]) as | as8 g } \addlyrics { The man who | feels love's sweet e -- | mo -- tion } }
Der \revert
-Befehl kann benutzt werden, um eine beliebige
Eigenschaft, die mit \override
geändert worden ist, wieder in
ihre Standardeinstellungen zurückzuversetzen. In unserem Beispiel können
Sie die Methode benutzen, die Ihnen lieber ist, beide haben das gleiche
Resultat.
Damit endet die Einleitung in die Referenz der Interna (IR) und die grundlegenden Optimierungsmethoden. Einige Beispiele folgen in späteren Abschnitten dieses Kapitel, einerseits um Sie mit weiteren Möglichkeiten der IR bekanntzumachen, andererseits um Ihnen mehr Übungsmöglichkeiten zu geben, die relevante Information dort zu finden. Die Beispiele werden Schritt für Schritt immer weniger Erklärungen beinhalten.