| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Explaining the Internals Reference
| 5.2.1 Zurechtfinden in der Programmreferenz | ||
| 5.2.2 Layout-Schnittstellen | ||
| 5.2.3 Die Grob-Eigenschaften | ||
| 5.2.4 Benennungskonventionen |
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Navigating the program reference
Arbeit mit der Referenz der Interna soll hier an einigen Beispiel illustriert werden. Die Referenz der Interna existiert nur auf Englisch, darum sind auch die Beispiele dieses Abschnittes nicht übersetzt.
Folgende Aufgabe wird bearbeitet: Der Fingersatz aus dem Beispiel unten soll verändert werden:
c-2 \stemUp f
In der Dokumentation über Fingersatz (in Fingersatzanweisungen) gibt es folgenden Abschnitt:
Siehe auch:
Referenz der Interna: (internals)Fingering in Abschnitt ‘Fingering’ in Referenz der Interna.
Gehen Sie über diesen Link zum Abschnitt (internals)Fingering in Abschnitt ‘Fingering’ in Referenz der Interna. Oben auf der Seite findet sich:
Fingering objects are created by: (internals)Fingering_engraver in Abschnitt ‘Fingering_engraver’ in Referenz der Interna and (internals)New_fingering_engraver in Abschnitt ‘New_fingering_engraver’ in Referenz der Interna.
Indem Sie die Links in der Referenz der Interna folgen, können Sie verfolgen, wie LilyPond intern arbeitet:
fingering-event is in Music expressions named
(internals)FingeringEvent in Abschnitt ‘FingeringEvent’ in Referenz der Interna
Fingersatz-Objekte werden also durch den Fingering_engraver
erstellt, welcher folgende Musikereignistypen akzeptiert:
fingering-event. Ein Musikereignis vom Typ
fingering-event ist ein musikalischer Ausdruck mit der
Bezeichnung
(internals)FingeringEvent in Abschnitt ‘FingeringEvent’ in Referenz der Interna.
Dieser Pfad geht genau die entgegengesetzte Richtung von LilyPonds Wirkungsweise: er beginnt bei der graphischen Ausgabe und arbeitet sich voran zur Eingabe. Man könnte auch mit einem Eingabe-Ereignis starten und dann die Links zurückverfolgen, bis man zum Ausgabe-Objekt gelangt.
Die Referenz der Interna kann auch wie ein normales Dokument durchsucht werden. Sie enthält Kapitel über (internals)Music definitions in Abschnitt ‘Music definitions’ in Referenz der Interna, über (internals)Translation in Abschnitt ‘Translation’ in Referenz der Interna und (internals)Backend in Abschnitt ‘Backend’ in Referenz der Interna. Jedes Kapitel listet alle die Definitionen und Eigenschaften auf, die benutzt und verändert werden können.
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Layout interfaces
Die HTML-Seite, die im vorigen Abschnitt betrachtet wurde,
beschreibt ein Layoutobjekt mit der Bezeichnung
Fingering. Ein derartiges Objekt ist ein Symbol
in der Partitur. Es hat Eigenschaften, die bestimmte
Zahlen speichern (wie etwa Dicke und Richtung), aber auch
Weiser auf verwandte Objekte. Ein Layoutobjekt wird auch
als „Grob“ bezeichnet, die Abkürzung für Graphisches
Objekt. Mehr Information zu Grobs findet sich in
(internals)grob-interface in Abschnitt ‘grob-interface’ in Referenz der Interna.
Die Seite zu Fingering enthält Definitionen für das
Fingering-Objekt. Auf der Seite steht etwa:
padding(dimension, in staff space):
0.5
was bedeutet, dass der Abstand zu anderen Objekten mindestens 0.5 Notenlinienabstände beträgt.
Jedes Layoutobjekt kann mehrere Funktionen sowohl als typographisches als auch als Notationselement einnehmen. Das Fingersatzobjekt beispielsweise hat folgende Aspekte:
Jeder dieser Aspekte findet sich in sogenannten Schnittstellen (engl. interface), die auf der (internals)Fingering in Abschnitt ‘Fingering’ in Referenz der Interna-Seite unten aufgelistet sind:
This object supports the following interfaces: (internals)item-interface in Abschnitt ‘item-interface’ in Referenz der Interna, (internals)self-alignment-interface in Abschnitt ‘self-alignment-interface’ in Referenz der Interna, (internals)side-position-interface in Abschnitt ‘side-position-interface’ in Referenz der Interna, (internals)text-interface in Abschnitt ‘text-interface’ in Referenz der Interna, (internals)text-script-interface in Abschnitt ‘text-script-interface’ in Referenz der Interna, (internals)font-interface in Abschnitt ‘font-interface’ in Referenz der Interna, (internals)finger-interface in Abschnitt ‘finger-interface’ in Referenz der Interna, and (internals)grob-interface in Abschnitt ‘grob-interface’ in Referenz der Interna.
Ein Klick auf einen der Links öffnet die Seite der entsprechenden Schnittstelle. Jede Schnittstelle hat eine Anzahl von Eigenschaften. Einige sind nicht vom Benutzer zu beeinflussen („interne Eigenschaften“), andere aber können verändert werden.
Es wurde immer von einem Fingering-Objekt gesprochen, aber
eigentlich handelt es sich nicht um sehr viel. Die Initialisierungsdatei
‘scm/define-grobs.scm’ zeigt den Inhalt dieses „Objekts“
(zu Information, wo diese Dateien sich finden siehe
(learning)Mehr Information in Abschnitt ‘Mehr Information’ in Handbuch zum Lernen):
(Fingering
. ((padding . 0.5)
(avoid-slur . around)
(slur-padding . 0.2)
(staff-padding . 0.5)
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
(stencil . ,ly:text-interface::print)
(direction . ,ly:script-interface::calc-direction)
(font-encoding . fetaText)
(font-size . -5) ; don't overlap when next to heads.
(meta . ((class . Item)
(interfaces . (finger-interface
font-interface
text-script-interface
text-interface
side-position-interface
self-alignment-interface
item-interface))))))
|
Wie man sehen kann, ist das Fingersatzobjekt nichts anderes als eine Ansammlung von Variablen, und die Internetseite der Referenz der Interna ist direkt aus diesen Anweisungen generiert.
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Determining the grob property
Die Position der 2 aus dem Beispiel unten soll also geändert werden:
c-2 \stemUp f
Weil die 2 vertikal an der zugehörigen Note ausgerichtet ist,
müssen wir uns mit der Schnittstelle auseinander setzen, die diese
Positionierung veranlasst. Das ist hier side-position-interface.
Auf der Seite für diese Schnittstelle heißt es:
side-position-interfacePosition a victim object (this one) next to other objects (the support). The property
directionsignifies where to put the victim object relative to the support (left or right, up or down?)
Darunter wird die Variable padding (Verschiebung) beschrieben:
padding(dimension, in staff space)
Add this much extra space between objects that are next to each other.
Indem man den Wert von padding erhöht, kann die Fingersatzanweisung
weiter weg von der Note gesetzt werden. Dieser Befehl beispielsweise
fügt drei Notenlinienzwischenräume zwischen die Zahl und den Notenkopf:
\once \override Voice.Fingering.padding = #3 |
Wenn dieser Befehl in den Quelltext eingefügt wird, bevor der Fingersatz notiert ist, erhält man folgendes:
\once \override Voice.Fingering.padding = #3 c-2 \stemUp f
In diesem Fall muss die Veränderung speziell für den Voice-Kontext
definiert werden. Das kann auch aus der Referenz der Interna entnommen
werden, da die Seite des
(internals)Fingering_engraver in Abschnitt ‘Fingering_engraver’ in Referenz der Interna schreibt:
Fingering_engraver is part of contexts: … (internals)Voice in Abschnitt ‘Voice’ in Referenz der Interna
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] | [Anfang] | [Inhalt] | [Index] | [ ? ] |
@translationof Naming conventions
Die Bezeichnungen für Funktionen, Variablen, Engraver und Objekte folgen bestimmten Regeln:
| [ < ] | [ > ] | [ << ] | [ Nach oben ] | [ >> ] |
Dieses Dokument wurde erzeugt von gub am 13. Juli 2020 durch texi2html 1.82.
Andere Sprachen: English, català, español, français, italiano, 日本語.
Über die automatische Sprachauswahl.