• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

D. S. al Coda am Ende einer Zeile und Coda am Beginn der nächsten Zeile.

Begonnen von quadronado, Samstag, 15. Mai 2010, 16:58

Vorheriges Thema - Nächstes Thema

ding-dong

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

ZitatEgal 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

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.