Autor Thema: D. S. al Coda am Ende einer Zeile und Coda am Beginn der nächsten Zeile.  (Gelesen 7118 mal)

ding-dong

  • Member
Re:D. S. al Coda am Ende einer Zeile und Coda am Beginn der nächsten Zeile.
« Antwort #15 am: Montag, 17. Mai 2010, 23:52 »
einfach ein minimales beispiel, wo das problem auftaucht - bis jetzt hatte ich geglaubt es gehe um die 2 \mark commands, jetzt kommt aber die verschiebung der akkorde/akkordzeichen dazu.

ich würde also die ersten 2-3 takte oder zeilen lilypond code schicken, wenn nötig sogar mit bild, aber das können wir dann selbst kompilieren. (deshalb solltest du auch sicherstellen, dass der code, den du schickst wirklich kompiliert - nur so können wir auf das echte problem eingehen!)

das wird dann sofort konkreter!

RobUr

  • Member
Re:D. S. al Coda am Ende einer Zeile und Coda am Beginn der nächsten Zeile.
« Antwort #16 am: Dienstag, 18. Mai 2010, 05:54 »
Zitat
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  8)  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 s128
Dies 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

quadronado

  • Member
Re:D. S. al Coda am Ende einer Zeile und Coda am Beginn der nächsten Zeile.
« Antwort #17 am: Dienstag, 18. Mai 2010, 08:16 »
Großartig, vielen Dank! Die Lösung mit \grace s128 hat funktionert. Jetzt wird das Coda-Zeichen an der richtigen Stelle angezeigt und die Akkordsymbole bleiben auch an der richtigen Stelle.
\grace s128
  \once \override Score.RehearsalMark #'extra-offset = #'( -6.5 . -4 )
     \mark \markup { \musicglyph #"scripts.coda" }
RobUr und allen anderen vielen Dank für eure Hilfe! Für das nächste Mal weiß ich dann auch, das ich ein minimales Beispiel posten muss und nicht nur den Ausschnitt, der Probleme verursacht.

Gruß,
quadronado.