Objekte weiß malen

Alle Layout-Objekte haben eine Farb-(color)-Eigenschaft, die normalerweise schwarz (black) definiert ist. Wenn sie nach weiß (white) verändert wird, kann man das Objekt nicht mehr vom weißen Hintergrund unterscheiden. Wenn das Objekt jedoch andere Objekte überschneidet, wird die Farbe der Überschneidungen von der Reihenfolge entschieden, in welcher die Objekte gesetzt werden. Es kann also vorkommen, dass man die Umrisse des weißen Objektes erahnen kann, wie in diesem Beispiel:

\override Staff.Clef.color = #white
a'1

[image of music]

Das kann man vermeiden, indem man die Satzreihenfolge der Objekte verändert. Alle Layout-Objekte haben eine layer-Eigenschaft, die auf eine ganze Zahl gesetzt sein muss. Objekte mit der niedrigsten Zahl in der layer-Eigenschaft werden zuerst gesetzt, dann die nächsten Objekte in ansteigender Ordnung. Objekte mit höheren Werten überschneiden also Objekte mit niedrigeren Werten. Die meisten Objekte bekommen den Wert 1 zugewiesen, einige wenige Objekte, unter die auch StaffSymbol (die Notenlinien) gehört, jedoch den Wert 0. Die Reihenfolge, in der Objekte mit demselben Wert gesetzt werden, ist nicht definiert.

Im oberen Beispiel wird der weiße Schlüssel, der einen Wert von 1 für layer hat, nach den Notenlinien gesetzt (die einen Wert von 0 für layer haben) und überschneidet sie also. Um das zu ändern, muss dem Clef-Objekt (Notenschlüssel) ein niedrigerer Wert, etwa -1, gegeben werden, sodass es früher gesetzt wird:

\override Staff.Clef.color = #white
\override Staff.Clef.layer = #-1
a'1

[image of music]


LilyPond Benutzerhandbuch v2.25.21 (Entwicklungszweig).