Heute habe ich nochmal ein wirkliches Problem, das mir bisher entgangen ist:
Wenn im Notentext ein Taktwechsel vor einem Wiederholungszeichen passiert, erscheint (gleich, in welcher Reihenfolge die Codes stehen, die Taktart i n der Wiederholung, sie sll aber v o r dem Wiederholungszeichen stehen. Was ist zu tun?
\version "2.11.63"
\relative c {
c c c c \time 6/8 \bar "|:" c8 c c c c c }
Gruß chf
Das ist jetzt ein fortgeschrittener Wunsch.
Den Reihenfolge-Mechanismus ausfindig machen (break-align-orders),
dessen voreingestellte Reihenfolge orten (in define-grobs.scm bzw. IR.3.1.22 (http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/BreakAlignment)),
daraus eine andere Reihenfolge ableiten (time-signature vor staff-bar),
und definieren:
rochade = \override Score.BreakAlignment #'break-align-orders =
#(make-vector 3
'(left-edge
ambitus
breathing-sign
clef
time-signature
staff-bar
key-cancellation
key-signature
custos))
Dann diese abweichende Reihenfolge anwenden, etwa so:
\relative c' { \rochade
c c c c \time 6/8 \repeat volta 2 { c8 c c c c c }
Gruss
Das funktioniert prima in score.
Lässt sich das auch für den Einzelfall zurechtmachen? Jetzt sind auch die Doppelstriche betroffen (\bar "||"), ich brauche aber nur \bar "|:" ...
Gruß chf
Der Einzelfall geht so:
Bei der Definition \once mitgeben
rochade = \once \override Score.BreakAlignment #'break-align-orders =
#(make-vector 3
'(left-edge
ambitus
breathing-sign
clef
time-signature
staff-bar
key-cancellation
key-signature
custos))
Und dann unmittelbar anwenden
\relative c' {
c c c c \time 6/8 \rochade \repeat volta 2 { c8 c c c c c } % vor c8
\time 4/4 c4 c c c \time 6/8 \repeat volta 2 { c8 c c c c c } % normal
}
Gruss
Danke, das war hilfreich! Ich bin immer ganz in der Nähe, aber zum letzten Durchblick reicht's dann doch nicht.
Gruß chf
Leider muss ich auf dieses Thema nochmal zurückkommen.
An einer Stelle gefällt mir die Sache noch nicht:
das erste "C" müsste ein wenig weiter weg von \bar ":|" Egal, wie ich die Befehle anordne - das Bild ist immer gleich. In der Dokumentation finde ich nicht die richtige Stelle, und selbst wenn - ???
Gruß chf
\version "2.11.63"
rochade = \once \override Score.BreakAlignment #'break-align-orders =
#(make-vector 3
'(left-edge
ambitus
breathing-sign
clef
time-signature
staff-bar
key-cancellation
key-signature
custos))
\relative c' {
\time 6/8
d'8 g, a e4 r8 \bar ":|:"
\rochade \time 4/4
r2^\markup {
(
\smaller \general-align #Y #DOWN \note #"4." #1
=
\smaller \general-align #Y #DOWN \note #"4" #1
)
}
}
Es gibt einen Abstands-Mechansimus,
und in IR.3.1.114 (http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/TimeSignature) hat der relevanter Wert 2.0 als Voreinstellung.
Mit diesem Wert spielen, z.B. 3.0:
padTsBar = \once \override Score.TimeSignature #'space-alist = #'(
(first-note fixed-space . 2.0)
(right-edge extra-space . 0.5)
(staff-bar minimum-space . 3.0))
\relative c' {
\time 6/8
d'8 g, a e4 r8 \bar ":|:"
\rochade \padTsBar \time 4/4
r2}
Aber warum wird die tatsächliche Taktstrich-Breite nicht berücksichtigt?
Gruss
Lieber "Comper",
danke! Jetzt sieht's fein aus.
Was meinst du mit tatsächlicher Taktstrichbreite? So : ":||:" ? Darauf wäre ich nie gekommen. Ich habe beide Zeichen getrennt aneinandergereiht, aber ohne Erfolg. - ? -
Gruß
chf
Liebe Freunde,
lasst mich nochmal an ein altes Problem anknüpfen ("Wiederholungszeichen und Taktwechsel").
Die Lösung mit
rochade = \once \override Score.BreakAlignment #'break-align-orders =
#(make-vector 3
'(left-edge
ambitus
breathing-sign
clef
time-signature
staff-bar
key-cancellation
key-signature
custos))
funktioniert wunderbar a u ß e r bei diesem Zeilenwechsel: (pardon - ich hatte was Wesentliches in meinem Code vergessen)
\version "2.12.2"
rochade = \once \override Score.BreakAlignment #'break-align-orders =
#(make-vector 3
'(left-edge
ambitus
breathing-sign
clef
time-signature
staff-bar
key-cancellation
key-signature
custos))
\relative c' {
a,16^\markup {etwas frei} es' c b a es' a,32 es' c b a es' c b a es c b a\fermata b c es g a d e! a, d e g a^\markup {sehr verbreitern} b c es d16 e g a r8 a,8^\markup {frei} ([dis,] e g cis, f4) d8 (c [es a,]) \once \override Score.RehearsalMark #'self-alignment-X = #right \mark \markup { \musicglyph #"scripts.ufermata" } \time 5/4 \rochade \tempo \markup { \fontsize #2 "erstes Zeitmaß"} \break \noPageBreak \bar "|:" \once \override Script #'padding = #-1
<<
{ r4 a'2\prallprall~a4 r4 }\\
{r4 <es, c'>2.\f r4}
>>
\noBreak R1*5/4*3 \bar ":|" R1*5/4 \time 3/4 R1*5/4*3 \bar ":|" R1*5/4 \time 3/4
<<
{a'4^\markup {tast.} a d }\\
{<d,, fis'>2.\mp}
>>
\stemUp <d fis' a>4 <a e' cis' g'> <d d' fis> \time 5/4 R1*5/4 \bar "|."
}
\noPageBreak
Hier kann ich auch den Zeilenwechsel nicht gut verlagern, es handelt sich um eine sechsstimmige Partitur eines viersätzigen Werkes - es ist also alles ziemlich ausgeklügelt.
Es müsste also am Zeilenende 5/4 h i n t e r dem Taktstrich stehen, am Zeilenanfang aber v o r dem Wiederholungszeichen. Gibt es ein Rezept?
Gruß chf