Die color-Eigenschaft (Farbe) (LilyPond Handbuch zum Lernen)

#### Die `color`-Eigenschaft (Farbe)

Abschließend wollen wir die Taktstriche unsichtbar machen, indem wir sie weiß einfärben. (Es gibt hier eine Schwierigkeit: die weiße Taktstrich übermalt manchmal die Taktstriche, wo sie sie kreuzt, manchmal aber auch nicht. Sie können in den Beispielen unten sehen, dass das nicht vorhersagbar ist. Die Einzelheiten dazu, warum das passiert und wie sie es kontrollieren können, werden dargestellt in Objekte weiß malen. Im Moment wollen wir lernen, wie man mit Farbe arbeitet, akzeptieren Sie bitte an dieser Stelle die Beschränkung.)

Das `grob-interface` bestimmt, dass der Wert der Farb-Eigenschaft eine Liste ist, aber es gibt keine Erklärung, was für eine Liste das sein soll. Die Liste, die benötigt wird, ist eine Liste mit Werten in internen Einheiten, aber damit Sie nicht wissen müssen, wie diese aussehen, gibt es mehrere Wege, Farben anzugeben. Der erste Weg ist es, „CSS“-Farben zu benutzen, wie sie Liste der Farben auflistet. Beachten Sie, dass die Bezeichnungen auf Englisch sind. Um die Taktstriche auf weiß zu setzen, können Sie schreiben:

>     \relative {
>       \time 12/16
>       \override Staff.BarLine.color = "white"
>       c''4 b8 c d16 c d8 |
>       g,8 a16 b8 c d4 e16 |
>       e8
>     }

und die Taktstriche verschwinden in der Tat. Beachten Sie, dass white nicht mit einem Apostroph angeführt wird – es ist kein Symbol, sondern eine Zeichenkette, die einer vordefinierten Liste von internen Werten zugeordnet ist. Hier orierntiert LilyPonds Syntax sich an CSS, die oft auf Webseiten genutzt werden. Zusätzlich zu den vordefinierten Farben können wir auch hexadezimale Codes verwenden:

>     \relative {
>       \time 12/16
>       \override Staff.BarLine.color = "#FFFFFF"
>       c''4 b8 c d16 c d8 |
>       g,8 a16 b8 c d4 e16 |
>       e8
>     }

Wir könnten diese Farbe auch als Variable definieren und dann diese Variable benutzen, um die Eigenschaft zu definiren. Da es sowohl eine LilyPond-Variable ein Scheme-Objekt ist, kann es ohne Unterschied mit einem Backslash und einem Hash genutzt werden:

>     whiteVar = "#FFFFFF"

>     \relative {
>       \time 12/16
>       \override Staff.BarLine.color = \whiteVar
>       c''4 b8 c d16 c d8 |
>       \override Staff.BarLine.color = #whiteVar
>       g,8 a16 b8 c d4 e16 |
>       e8
>     }

Ein weiterer Weg zum Hinzufügen von Farben zu einer Partitur ist das Benutzen einer Funktion. Hier gibt es zwei nützliche Funktionen; eine ist die Funktion `x11-color`, die wir in Kürze sehen werden. Die andere, `rgb-color`, zeigt LilyPonds interne Logik: Sie braucht drei Argumente, um die Stärke von Rot, Grün und Blau darzustellen. Die Werte befinden sich zwischen 0 und 1. Um also die Farbe Rot darzustellen, muss der Wert der Funktion lauten: `(rgb-color 1 0 0)`, weiß würde sein: `(rgb-color 1 1 1)`.

>     \relative {
>       \time 12/16
>       \override Staff.BarLine.color = #(rgb-color 1 1 1)
>       c''4 b8 c d16 c d8 |
>       g,8 a16 b8 c d4 e16 |
>       e8
>     }

Es ist zu beachten, dass in diesem Fall der gesamte Funktionsaufruf in Klammern eingeschlossen werden muss. Das gleiche kann über die Funktion `x11-color` gesagt werden, die wir übersprungen haben.

`x11-color` ordnet ebenfalls vordefinierte Farbnamen internen Werten zu – aber bietet viel mehr Auswahl als CSS-Namen, wie in Liste der Farben zu sehen ist.

Die Menge der X11-Farben schließt beispielsweise eine weite Grauskala ein, die von schwarz (`'grey0`) bis weiß (`'grey100`) reicht, in Einerschritten. Wir wollen das illustrieren, indem alle Layout-Objekte im Beispiel verschiedene Grauschattierungen erhalten:

>     \relative {
>       \time 12/16
>       \override Staff.StaffSymbol.color = #(x11-color 'grey30)
>       \override Staff.TimeSignature.color = #(x11-color 'grey60)
>       \override Staff.Clef.color = #(x11-color 'grey60)
>       \override Voice.NoteHead.color = #(x11-color 'grey85)
>       \override Voice.Stem.color = #(x11-color 'grey85)
>       \override Staff.BarLine.color = #(x11-color 'grey10)
>       c''4 b8 c d16 c d8 |
>       g,8 a16 b8 c d4 e16 |
>       e8
>     }

Beachten Sie die Kontexte, die mit jedem einzelnen Layout-Objekt verbunden sind. Es ist wichtig, den richtigen Kontext einzusetzen, damit die Befehle funktionieren. Denken Sie daran, dass der Kontext sich daran orientiert, wo sich der entsprechende Engraver befindet. Den Standardkontext für Engraver finden Sie, indem Sie beim Layout-Objekt beginnen, zum Engraver gehen, der es produziert und auf der Seite des Engravers in der IR finden Sie Information, in welchem Kontext sich der Engraver normalerweise befindet.

#### LilyPond Handbuch zum Lernen v2.26.0 (stable-branch).

- 1 Installing
  - 1.1 Graphical setup
  - 1.2 Command line setup
- 2 Tutorium
  - 2.1 Eine Quelldatei übersetzen
  - 2.2 Wie werden Eingabe-Dateien geschrieben
    - 2.2.1 Einfache Notation
      - Tonhöhen
      - Tondauern (Rhythmen)
      - Pausen
      - Taktartangabe
      - Tempobezeichnung
      - Notenschlüssel
      - Alles zusammen
    - 2.2.2 Arbeiten an Eingabe-Dateien
  - 2.3 Fehlerbehandlung
    - 2.3.1 Allgemeine Fehlerbehandlungstipps
    - 2.3.2 Einige häufige Fehler
  - 2.4 Wie die Handbücher gelesen werden sollten
    - 2.4.1 Ausgelassenes Material
    - 2.4.2 Anklickbare Beispiele
    - 2.4.3 Überblick über die Handbücher
- 3 Übliche Notation
  - 3.1 Notation auf einem System
    - 3.1.1 Taktstriche und Taktüberprüfung
      - Taktstriche
      - Taktüberprüfungen
    - 3.1.2 Tonhöhen und Tonartbezeichnungen (Vorzeichen)
      - Tonhöhenveränderungen
      - Tonartbezeichnungen (Vorzeichen)
      - Warnung bzgl. Tonartbezeichnungen und Tonhöhen
    - 3.1.3 Bindebögen und Legatobögen
      - Bindebögen
      - Legatobögen
      - Phrasierungsbögen
      - Achtung Bindebögen sind nicht Legatobögen
    - 3.1.4 Artikulationszeichen und Lautstärke
      - Artikulationszeichen
      - Fingersätze
      - Dynamik
    - 3.1.5 Text hinzufügen
    - 3.1.6 Automatische und manuelle Balken
    - 3.1.7 Zusätzliche rhythmische Befehle
      - Auftakt
      - N-tolen
      - Verzierungen
  - 3.2 Mehrere Noten auf einmal
    - 3.2.1 Musikalische Ausdrücke erklärt
      - Analogie mathematische Ausdrücke
      - Gleichzeitige musikalische Ausdrücke mehrere Notensysteme
      - Gleichzeitige musikalische Ausdrücke ein Notensystem
    - 3.2.2 Mehrere Notensysteme
    - 3.2.3 Notensysteme gruppieren
    - 3.2.4 Noten zu Akkorden verbinden
    - 3.2.5 Mehrstimmigkeit in einem System
  - 3.3 Lieder
    - 3.3.1 Einfache Lieder setzen
    - 3.3.2 Text an einer Melodie ausrichten
    - 3.3.3 Text zu mehreren Systemen
  - 3.4 Letzter Schliff
    - 3.4.1 Stücke durch Variablen organisieren
    - 3.4.2 Titel hinzufügen
    - 3.4.3 Absolute Notenbezeichnungen
    - 3.4.4 Nach dem Tutorium
- 4 Grundbegriffe
  - 4.1 Wie eine LilyPond-Eingabe-Datei funktioniert
    - 4.1.1 Einführung in die Dateistruktur von LilyPond
    - 4.1.2 Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck
    - 4.1.3 Musikalische Ausdrücke ineinander verschachteln
    - 4.1.4 Über die Nicht-Schachtelung von Klammern und Bindebögen
  - 4.2 Voice enthält Noten
    - 4.2.1 Ich höre Stimmen
    - 4.2.2 Stimmen explizit beginnen
    - 4.2.3 Stimmen und Text
  - 4.3 Kontexte und Engraver
    - 4.3.1 Was sind Kontexte?
    - 4.3.2 Kontexte erstellen
    - 4.3.3 Was sind Engraver?
    - 4.3.4 Kontexteigenschaften verändern
    - 4.3.5 Engraver hinzufügen und entfernen
  - 4.4 Erweiterung der Vorlagen
    - 4.4.1 Sopran und Cello
    - 4.4.2 Vierstimmige SATB-Partitur
    - 4.4.3 Eine Partitur von Grund auf erstellen
    - 4.4.4 Tipparbeit durch Variablen und Funktionen einsparen
    - 4.4.5 Partituren und Stimmen
- 5 Die Ausgabe verbessern
  - 5.1 Grundlagen für die Optimierung
    - 5.1.1 Grundlagen zur Optimierung
    - 5.1.2 Objekte und Schnittstellen
    - 5.1.3 Regeln zur Benennung von Objekten und Eigenschaften
    - 5.1.4 Optimierungsmethoden
      - Der `\override`-Befehl
      - Der `\revert`-Befehl
      - Der `\once`-Präfix
      - Der `\tweak`-Befehl
      - Der `\single`-Präfix
  - 5.2 Die Referenz der Programminterna
    - 5.2.1 Eigenschaften von Layoutobjekten
    - 5.2.2 Eigenschaften, die Schnittstellen besitzen können
    - 5.2.3 Typen von Eigenschaften
  - 5.3 Erscheinung von Objekten
    - 5.3.1 Sichtbarkeit und Farbe von Objekten
      - Die `stencil`-Eigenschaft (Matrize)
      - The `break-visibility`-Eigenschaft (unsichtbar machen)
      - Die `transparent`-Eigenschaft (durchsichtig)
      - Die `color`-Eigenschaft (Farbe)
    - 5.3.2 Größe von Objekten
    - 5.3.3 Länge und Dicke von Objekten
  - 5.4 Positionierung von Objekten
    - 5.4.1 Automatisches Verhalten
    - 5.4.2 within-staff (Objekte innerhalb des Notensystems)
      - The `direction`-Eigenschaft (Richtung)
      - Fingersatz
    - 5.4.3 Objekte außerhalb des Notensystems
      - Die `outside-staff-priority`-Eigenschaft
      - Der `\textLengthOn`-Befehl (Textlänge berücksichtigen)
      - Positionierung von Dynamikzeichen
      - Verändern der Größe von grobs
  - 5.5 Vertikale Abstände
  - 5.6 Kollision von Objekten
    - 5.6.1 Verschieben von Objekten
    - 5.6.2 Überlappende Notation in Ordnung bringen
      - Die `padding`-Eigenschaft (auffüllen)
      - Die `right-padding`-Eigenschaft (rechts auffüllen)
      - The `staff-padding`-Eigenschaft (Systemfüllungseigenschaft)
      - Die `self-alignment-X`-Eigenschaft (Selbstausrichtung-X-Eigenschaft)
      - Die `staff-position`-Eigenschaft (Position innerhalb des Systems)
      - Die `extra-offset`-Eigenschaft (Genaues Positionieren)
      - Die `positions`-Eigenschaft (Ausrichtungseigenschaft)
      - Die `force-hshift`-Eigenschaft (horizontale Verschiebunseigenschaft)
    - 5.6.3 Beispiel aus dem Leben
  - 5.7 Weitere Optimierungen
    - 5.7.1 Andere Benutzung von Optimierungen
      - Noten zwischen unterschiedlichen Stimmen überbinden
      - Eine Fermate in MIDI simulieren
    - 5.7.2 Variablen für Layout Anpassungen einsetzen
    - 5.7.3 Formatvorlagen
    - 5.7.4 Mehr Information
    - 5.7.5 Fortgeschrittene Optimierungen mit Scheme
- Appendix A Vorlagen
  - A.1 Eingebaute Vorlagen
    - A.1.1 SATB Vorlage
    - A.1.2 SSAATTBB Vorlage
  - A.2 Vorlagen für ein einzelnes System
    - A.2.1 Nur Noten
    - A.2.2 Noten und Text
    - A.2.3 Noten und Akkordbezeichnungen
    - A.2.4 Noten, Text und Akkordbezeichnungen
  - A.3 Klaviervorlagen
    - A.3.1 Piano Solo
    - A.3.2 Klavier und Gesangsstimme
    - A.3.3 Klavier mit eingeschobenem Gesangstext
  - A.4 Vorlagen für Streichquartette
    - A.4.1 Streichquartett
    - A.4.2 Streichquartettstimmen
  - A.5 Vokalensemble
    - A.5.1 SATB-Partitur
    - A.5.2 SATB-Partitur und automatischer Klavierauszug
    - A.5.3 SATB mit daran ausgerichteten Kontexten
    - A.5.4 SATB auf vier Systemen
    - A.5.5 Sologesang und zweistimmiger Refrain
    - A.5.6 Kirchenlieder
    - A.5.7 Psalmengesang
  - A.6 Orchestervorlagen
    - A.6.1 Orchester, Chor und Klavier
  - A.7 Vorlagen für alte Notation
    - A.7.1 Transkription mensuraler Musik
    - A.7.2 Vorlage zur Transkription von Gregorianik
  - A.8 Andere Vorlagen
    - A.8.1 Jazz-Combo
- Appendix B GNU Free Documentation License
- Appendix C Register