• 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

quadronado

Hallo,

Ich suche Hilfe beim schreiben eigentlich gängiger Wiederholungszeichen. Ich möchte, dass am Ende einer Zeile "D. S. al Coda" steht und dann gleich in der nächsten Zeile zu Beginn das Coda-Zeichen.

Mir ist es zwar gelungen, "D. S. al Coda" an das Ende einer Zeile zu schreiben:
\once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
\once \override Score.RehearsalMark #'self-alignment-X = #RIGHT 
\mark "D. S. al Coda"

Aber wie kann ich den Befehl rückgängig machen, damit das folgende Zeichen am Beginn der nächsten Zeile steht? Wenn ich gleich danach
\mark \markup { \musicglyph #"scripts.coda" }
eingebe, bekomme ich nur eine Fehlermeldung
ZitatWarnung: Zwei gleichzeitige mark-Ereignisse, dieses wird verworfen

Leider habe ich in der Hilfe keine Lösung gefunden. Müsste doch eigentlich ganz einfach sein, vielleicht kann mir hier jemand helfen. Vielen Dank.


RobUr

Hallo und herzlich willkommen im Forum!

Die einfachste und schnellste Lösung ist wohl, das Coda-Zeichen nicht als \mark, sondern als normales TextScript zu verankern:

c^\markup { \musicglyph #"scripts.coda" }


Grüße, Robert

RobUr

Alternativ könntest du auch mit Kadenz und Spacer tricksen:

\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
\cadenzaOn  %% unterbricht Taktnummerierung
s128 \mark \markup { \musicglyph #"scripts.coda" }
\cadenzaOff  %% nimmt Taktnummerierung wieder auf
\repeat unfold 16 { c4 } \break
\repeat unfold 16 { c4 }
}

quadronado

#3
Vielen Dank für die schnelle Antwort.  :)
Als Notlösung funktionieren beide Vorschläge ganz gut. Gibt es denn keine Lösung, bei der es richtig aussieht?
Bei der ersten Lösung ist das Zeichen zu klein. Bei der zweiten Lösung stimmt die Größe, aber das Zeichen steht zu weit rechts. Ich hätte es gerne genau über dem Notenschlüssel - da, wo es auch erscheint, wenn ich kein D. S. al Coda in der vorherigen Zeile schreibe.

Was bedeutetet eigentlich "s128"?

Edit: Neue Threads für weitere Anfragen erstellt.




kilgore

Immer besser für andere Probleme ein neue Thread zu starten...sonst gibts verwirrung!  ;)

Aber zur grösse und platzierung...



c^\markup { \magnify #2 \musicglyph #"scripts.coda" }


versuch mal das um das Symbol grösser zu machen.  Du kannst auch #2.5 oder #3 usw probieren.



\once \override Score.RehearsalMark #'extra-offset = #'( -2 . 0 )
\mark \markup { \musicglyph #"scripts.coda" }


die erste Zahl (-2) bringt den Zeichen etwas weiter nach links (positive Zahl wäre nach rechts).   Kannst du beliebig weiter verschieben.  die zweite Zahl ist für vertikale Ausrichtung, auch mit positive oder negative Zahlen zu steuern.

hilfts?

quadronado

Zitat von: kilgore am Sonntag, 16. Mai 2010, 09:49
Immer besser für andere Probleme ein neue Thread zu starten...sonst gibts verwirrung!  ;)
OK, mache ich dann später.

Zitat von: kilgore am Sonntag, 16. Mai 2010, 09:49

\once \override Score.RehearsalMark #'extra-offset = #'( -2 . 0 )
\mark \markup { \musicglyph #"scripts.coda" }


die erste Zahl (-2) bringt den Zeichen etwas weiter nach links (positive Zahl wäre nach rechts).   Kannst du beliebig weiter verschieben.  die zweite Zahl ist für vertikale Ausrichtung, auch mit positive oder negative Zahlen zu steuern.

hilfts?
Vielen Dank. Ich habe das jetzt wie folgt eingebaut
\cadenzaOn  %% unterbricht Taktnummerierung
  \once \override Score.RehearsalMark #'extra-offset = #'( -2 . 0 )
   s128 \mark \markup { \musicglyph #"scripts.coda" }
      \cadenzaOff  %% nimmt Taktnummerierung wieder auf

und das hat leider überhaupt keinen Effekt.

Dafür hat sich ein weiteres Problem mit
\cadenzaOn  %% unterbricht Taktnummerierung
   s128 \mark \markup { \musicglyph #"scripts.coda" }
      \cadenzaOff  %% nimmt Taktnummerierung wieder auf

ergeben. Durch diesen Befehl werden alle Akkordsymbole einige Millimeter nach links verschoben, sodass die Akkordsymbole am Anfang jeder Zeile jetzt am Ende der vorherigen Zeile stehen.  :o
Dabei wollte ich doch nur ein einfaches Leadsheet setzen. Komplizierter als ich dachte ...  :-[

kilgore

das \once \override muss DIREKT vor \mark kommen!  du hast "s128" dazwischen....

quadronado

Zitat von: kilgore am Sonntag, 16. Mai 2010, 21:14
das \once \override muss DIREKT vor \mark kommen!  du hast "s128" dazwischen....
Wenn ich "s128" lösche, ist das Coda-Zeichen ganz verschwunden.  ???
Was bewirkt das "s128" denn eigentlich?

kilgore

nicht löschen, einfach vor den anderen Befehlen tippen:


\cadenzaOn  %% unterbricht Taktnummerierung
   s128
   \once \override Score.RehearsalMark #'extra-offset = #'( -2 . 0 )
    \mark \markup { \musicglyph #"scripts.coda" }
       \cadenzaOff  %% nimmt Taktnummerierung wieder auf

ding-dong

Zitat von: kilgore\once \override Score.RehearsalMark #'extra-offset = #'( -2 . 0 )

oder verwende einen minimalen wert in der form s 1*1/1000

der spacer nimmt dann praktisch keinen platz mehr weg und du vermeidest das mühsame nachkorrigieren, wenn die noten mal dichter mal lockerer stehen!

quadronado

Jungs, danke für die Hilfe, aber es wird einfach nicht besser. 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.


quadronado

Zitat von: himatt am Montag, 17. Mai 2010, 19:54
"s" ... NR1.2.2 Unsichtbare-Pausen ;)
matthias
Ah, das s steht für skip. Kein Wunder, dass der Befehl das ganze darauf folgende Layout zerschießt bzw. verschiebt.

:'( Weiß denn nieman, wie man es richtig macht?

ding-dong

Zitat von: quadronadoJungs, danke für die Hilfe, aber es wird einfach nicht besser. 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?

gib doch mal ein kleines beispiel durch, damit wir es an einem reellen objekt durchüben können (oder sollen wir das selbst konstruieren?)

ich habe s den spacer oder spacer rest schon beim namen genannt und du hast ja den hinweis erhalten, wo sich das in der dok befindet!

und pass weiter auf: s ist kein \skip (obwohl dieser an dieser stelle auch verwendet werden kann)!

quadronado

Zitat von: ding-dong am Montag, 17. Mai 2010, 23:05

gib doch mal ein kleines beispiel durch, damit wir es an einem reellen objekt durchüben können (oder sollen wir das selbst konstruieren?)

Was meinst du damit genau? Ich habe doch schon im ersten Beitrag den entsprechenden Ausschnitt aus meinen Noten gepostet, das dann modifiziert wurde. Ich bin noch sehr unerfahren mit dem Programm, deshalb verstehe ich leider nicht, was du schreibst.