Autor Thema: Taktwechsel und Wiederholungszeichen  (Gelesen 7116 mal)

chf

  • Member
Taktwechsel und Wiederholungszeichen
« am: Dienstag, 16. Dezember 2008, 19:23 »
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

comper

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #1 am: Dienstag, 16. Dezember 2008, 23:47 »
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),
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
« Letzte Änderung: Dienstag, 16. Dezember 2008, 23:52 von comper »

chf

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #2 am: Mittwoch, 17. Dezember 2008, 17:25 »
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
« Letzte Änderung: Mittwoch, 17. Dezember 2008, 18:53 von lomtas »

comper

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #3 am: Mittwoch, 17. Dezember 2008, 18:03 »
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
« Letzte Änderung: Mittwoch, 17. Dezember 2008, 18:06 von comper »

chf

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #4 am: Donnerstag, 18. Dezember 2008, 15:04 »
Danke, das war hilfreich! Ich bin immer ganz in der Nähe, aber zum letzten Durchblick reicht's dann doch nicht.
Gruß chf

chf

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #5 am: Samstag, 20. Dezember 2008, 14:05 »
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
           )
          }
}

comper

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #6 am: Samstag, 20. Dezember 2008, 16:01 »
Es gibt einen Abstands-Mechansimus,
und in IR.3.1.114 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

chf

  • Member
Re: Taktwechsel und Wiederholungszeichen
« Antwort #7 am: Sonntag, 21. Dezember 2008, 17:51 »
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

chf

  • Member
\rochade bei Taktwechsel
« Antwort #8 am: Dienstag, 26. Mai 2009, 13:19 »
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
« Letzte Änderung: Mittwoch, 27. Mai 2009, 20:07 von chf »