Egal was ich hinter dem s (dessen Funktion ihr mir offensichtlich nicht verraten wollt) eingebe, die Verschiebung der Akkordsymbole ist jedes Mal verheerend. Gibt es denn keine richtige Lösung? Sowas sollte doch jedes Programm standardmäßig ohne großes gefrickel können. Notfalls nehme ich auch eine Lösung mit dem Coda-Zeichen an der falschen Stelle, dafür aber mit Akkordsymbolen an der richtigen Stelle.
Immer mit der Ruhe

Es gibt eben nicht
die einzig richtige Lösung. In Lily finden sich häufig mehrere Wege.
Ich habe dir
einen Weg gezeigt, zwei
\mark-Ereignisse auszugeben. Lily akzeptiert nur eine
\mark zur gleichen Zeit. Das ist nunmal so. Der Trick ist nun, das zweite
\mark-Ereignis minimal später zu notieren, also nach einem Platzhalter
s (wie
spacer) mit der Dauer einer 128tel →
s128!
Das Konstrukt mit
\cadenzaOn/Off kann man auch weglassen, wenn
s128 als Vorschlag notiert wird:
\grace s128Dies hat den Vorteil, dass die Vorschlagsnote im zeitlichen Ablauf keinen Wert erhält, wodurch deine Akkordsymbole wieder an der richtigen Stelle sitzen.
noten = \relative {
\repeat unfold 16 { c4 }
\once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
\mark "D.S. al Coda"
\break
\grace s128 \mark \markup { \musicglyph #"scripts.coda" }
\repeat unfold 16 { c4 } \break
\repeat unfold 16 { c4 }
}
akkorde = \chordmode {
\repeat unfold 12 { c2 f }
}
\score {
<<
\context ChordNames { \akkorde }
\context Staff { \noten }
>>
}
Was ein Programm können sollte oder nicht, muss man schon den Programmierern überlassen. Sie sind vorwiegend in der englischen Liste anzutreffen und haben sicher ein offenes Ohr für Verbesserungsvorschläge.
Grüße, Robert