Hallo
Radler!Das Auslagern von stückspezifischen Code-Teilen in externe Dateien erscheint mir sehr lästig. Da finde ich mich mit der Such-Funktion meines Editors schneller in einer einzigen Datei zurecht.
Inwieweit man auslagert, ist natürlich jedem selbst überlassen. Ich finde es eben höchst praktisch, gerade wenn man umfangreiche oder mehrsätzige Stücke bearbeitet, deren Codezeilen sonst schnell im 1.000er-Bereich landen. In einer einzigen Datei wird es zu einer echten „Suche“. Hier hilft am besten eine erprobte interne Struktur.
Die Idee, Tuplet-Brackets und –Numbers in der zweiten Stimme in einem System zu unterdrücken, finde ich auch sehr gut.
Das ist nicht meine Idee

Gängige Notationspraxis. Einige andere Sachen sind aber auch wichtig:
- Chormusik notiert man in einem ChoirStaff (setzt Balkenklammer am Systemanfang und keine durchgezogenen Taktstriche).
- In einem 4/4-Takt werden in der Regel keine punktierten halben Pausen verwendet. Diese werden in halben + Viertelpausen gruppiert.
- Ganztaktpausen werden mit einem großen „R“ notiert; diese werden somit horizontal zentriert.
- Tempoangaben sollten ganz am Anfang stehen.
- Um die Einstimmigkeit kenntlich zu machen (bzw. das Zusammenfallen aller Stimmen in einer Zeile), müsste die Balkenklammer auch vor jeder einzelnen Zeile stehen. Außerdem sieht es prima aus, wenn der Schlüssel eine eingeklammerte Oktavierungsacht für die Unisono-Passagen hätte (die Bässe singen wohl schlecht in der notierten Höhe
) - Seltsam erscheint mir der oktavierte F-Schlüssel. Dadurch würden die Bässe eine zusätzliche Oktave tiefer singen müssen?
- Dynamikangaben in Chorsystemen sollten immer über der jeweiligen Zeile stehen, also z.B. keine Crescendo-Gabel zwischen Noten und zugehörigem Liedtext.
- Wenn im Liedtext in die zweite Klammer gesprungen wird und dabei Silbentrennung auftritt, finde ich es schöner, die erste Klammer nicht mit lauter Trennstrichen zu überbrücken (die gehören ja nicht in die erste Klammer).
- Nach meiner Erfahrung sollten die Akkorde über den Wiederholungsklammern stehen.
Was ich auch nicht hinbekommen habe: Deine rehearsalMarks stehen sehr schön direkt auf den Doppelstrichen. Bei mir stehen sie 'mal höher, 'mal tiefer, vermutlich kollidieren sie mit den Akkord-Symbolen. […]
Ganz große Rätsel in Deinem Code geben mir auch die \removes von "Volta_engraver", "Mark_engraver", "Metronome_mark_engraver" auf. Die entsprechenden Zeichen erscheinen nämlich in Deinem Satz – bei mir nicht !?!?
Das liegt an der vertikalen Sortierung der Engraver. Um die folgende Anordnung zu erhalten:
1. Akkorde
2. Wiederholungsklammern
3. RehearsalMarks/Tempobezeichnungenentfernt man die entsprechenden Engraver aus dem
\Score-Context und fügt sie dem gewünschten
Staff hinzu. Deswegen stehen bei mir die Akkorde an oberster Stelle, darunter (über der Sopranzeile) die Wiederholungsklammern und dann RehearsalMarks und Tempobezeichnungen. Ansonsten stünden an oberster Stelle RehearsalMarks und Tempo, darunter die Wiederholungsklammern und dann erst die Akkorde.
Leider kann Deinen Satz nicht übernehmen, da er zwei wesentliche Elemente nicht enthält:
- Es sind nicht für alle Stimmen Ambitus-Angaben vorhanden. Und wenn die erzwungen werden, erscheinen wieder die doofen Leerzeilen am Anfang. (Für SopranII habe ichs gar nicht geschafft.)
- Beim Übergang von der Einstimmigkeit zur Mehrstimmigkeit und umgekehrt müssen die Naht-Töne im jeweils vorigen System noch erscheinen, damit – speziell die Bässe mit ihrem abweichenden Schlüssel – die Sänger sehen, ob hinauf oder hinunter geht, oder natürlich gleich hoch bleibt. Und da hätte ich dann eben auch gern den Text drunter. Das war ja der Ausgangspunkt meiner Anfrage, und das geht auch nach strengster Code-Hygiene noch nicht.
Der
Ambitus wird fest zu Beginn der ersten Zeile (ausgelöst durch eine
Staff/Voice-Definition) gesetzt – das ist nichts neues. Knifflig ist es nun, die richtige Stelle für einen neuen
Staff-Beginn
innerhalb/während eines bereits bestehenden Staff zu finden, um die Anzeige des Ambitus nicht vorzeitig auszulösen (wie wir gesehen haben, genügen auch keine Spacer). Das Schema muss also folgendes sein:
\score {
\new Staff = "ich bin schon da" \with {
\consists "Ambitus_engraver"
}{
\notenVorBeginnDesTemporärenStaff
<<
{ \notenWährendDesTemporärenStaff }
{ \new Staff = "ich beginne erst jetzt" \with {
\consists "Ambitus_engraver"
}{ \notenDesTemporärenStaff } }
>>
\evtlNotenNachDemTemporärenStaff
}
}Um hierbei den Überblick zu behalten, kommt man am Arbeiten mit Variablen eigentlich nicht vorbei. Allerdings sollte das Raster nicht zu klein gewählt werden.
Wie meinst du das mit dem Sopran II? Soll der Ambitus auch erst mit dem Sopran-II-Einsatz angezeigt werden? Ich halte das für verwirrend. Aber um es zu realisieren, würde für Sopran II das gleiche wie für Alt und Bass gelten (dafür statt neuem
Staff nur eine neue
Voice definieren; wäre sogar einfacher, weil du dann erst recht die ganzen ollen
MxyzSkips über Bord werfen kannst).
Übrigens liegt der Textfehler vermutlich im Sopran II: schau dir nochmal genau deine
MsopranDzwei-Definition an. Zusammengekürzt hast du hier folgendes konstruiert:
MsopranDzwei = \relative c'' {
<Auftakt>
\repeat volta 2 { <Wiederholung> }
\alternative {
{ <Klammer 1> }
{ <Klammer 2>
<Auftakt>
\repeat volta 2 { <Wiederholung> }
\alternative {
{ <Klammer 1> }
{ <Klammer 2> }
}
}
}
}Im Gegensatz zu allen anderen Stimmen hast du also innerhalb der Klammer 2 der ersten Wiederholung eine neue Wiederholung mit zwei weiteren Klammern notiert! Ich kann nur vermuten, dass dies im Zusammenspiel mit allen anderen Stimmen und/oder Ungenauigkeiten nicht nur in den „skip“-Fragmenten zu besagtem Phänomen führt. Lily funktioniert sehr streng
vertikal, d.h. zeitlich synchronisiert. Es ist gut möglich, dass es untereinander „irgendwie“ abgebildet wird, aber in deinem Beispiel zeigt sich gut, dass selbst eine Textsilbe – ob zu viel oder auch nicht – den synchronen Ablauf der Partitur arg ins Wanken bringt! Ich muss diese „Tiefenprüfung“ einfach
dir überlassen, weil ich diese
skip-Kombinationen zusammen mit allen anderen Bausteinen schlichtweg nicht bis auf die letzte Sechzehntel aufzudröseln bereit bin (und daran liegt es irgendwo). Du bist doch auch schon länger mit Lily unterwegs!
Ich wollte aber gar nicht so viel meckern – dass zwei deiner
\includes fehlten, hast du ja selbst schon bemerkt

Ich darf nur die Erforderlichkeit derer erneut betonen, da wir sonst nicht wissen, ob dort noch andere Definitionen irgendwas überschreiben! Wir würden uns sonst dumm und dämlich suchen, wenn es bei uns ohne die funktioniert und bei dir daheim, sobald sie wieder eingebunden sind, alles schief läuft. Deshalb ist es wichtig, trotz gesunder Paranoia, diese in einem zip-Archiv mitzuliefern. Am einfachsten für uns ist es natürlich, wenn der Code so weit bereinigt ist, dass wir ihn ad hoc an Lily schicken und bearbeiten können. Die meisten Fehler erledigen sich wirklich dadurch, dass der eigene Code revidiert und entschlackt wird! Und ja, noch einmal: den eigenen Code zusammenstreichen und überprüfen … Wenn’s dann immer noch nicht will, fallen wir gemeinsam drüber her

Zumindest in meiner Bearbeitung gibt es keine „Übersetzungsfehler“. Alle Noten und Silben sind an der richtigen Stelle, und wenn du partout den Ambitus für Sopran II an der Nahtstelle mit Alt-/Basseinsatz haben magst, krieg ich das auch noch schnell hin

Ich stelle meinen jetzigen Code noch mal hier mit rein ohne jeden Aufforderungscharakter.
Na ja, dafür stelle ich meinen
mit Aufforderungscharakter rein

Es tut mir leid, wenn ich nicht direkt mit deinem Code basteln kann – ich hatte ihn schon einmal für mich aufbereitet, und damit bastle ich auch weiter. Du musst ihn ja nicht selbst benutzen, aber du kannst vielleicht mal reinillern oder von mir aus alle Fragmente in einer Datei vereinigen.
Beste Grüße, Robert