LilyPond - Wiederholen Sie mit Teiltakt am Ende

Das zeigt das Problem:

\relative c' {
    c4 d e f
    d e
    \repeat volta 2 { 
        f g
        a, b c d
    }
    \alternative {
        {
            e2
        }
        {
            e2~ e2
        }
    }
}

Und hier ist ein Bild:Bild aus obigem Code

Ich brauche das erste Ende, um einen halben Takt zu sein, und das zweite Ende, um einen ganzen Takt zu sein, um musikalisch zu funktionieren. Ein veröffentlichtes Beispiel finden Sie unter Idumea from the Sacred Harp. Obwohl dies in 3/2 ist, ist die Idee dieselbe:

Idumea aus „Die heilige Harfe“.

Anscheinend behandelt LilyPond das zweite Ende als die zweite Hälfte des Taktes, der im ersten Ende beginnt. Ich denke, ich erwarte nicht, dass LilyPond mehr Verstand hat; es wäre eine sehr subtile Sache, es richtig zu machen, aber wie kann ich Lilypond davon überzeugen, hier das Richtige zu tun?

Die Wiederholung in der Mitte eines Taktes zu beginnen, der nicht der Auftakt des Stücks ist, IST sowohl für Lilypond- als auch für menschliche Leser etwas seltsam. Sind Sie sicher, dass Sie die Wiederholungsmarkierung nicht zum nächsten Taktende verschieben und am Ende von Wiederholung 1 wiederholen möchten? Außerdem empfehle ich dringend, Balkensymbole in der Lilypond-Quelle zur Überprüfung zu verwenden.
Ich bin mir sicher, dass das Verschieben des Wiederholungszeichens nicht akzeptabel ist. Siehe das in der Frage verlinkte Beispiel und viele, viele weitere Beispiele aus diesem Buch. Vielen Dank für den Vorschlag für das Balkensymbol; Ich werde versuchen, mich daran zu erinnern, es zu adoptieren!

Antworten (1)

Nun, das funktioniert:

\relative c' {
    c4 d e f
    d e
    \repeat volta 2 {
            f g
        a, b c d
    }
    \alternative {
        {
            e2
        }
        {
            \set Timing.measureLength = #(ly:make-moment 6/4)
            e2~ e2
        }
    }
}

Bild aus obigem Code

(Und natürlich können Sie das zurücksetzen e2~ e2auf e1.)

Nun ja, das funktioniert, aber ist das der einzige Weg? Gibt es für Lilypond eine Möglichkeit zu sehen, dass der erste Schlusstakt mit der zweiten Hälfte von Takt 2 und nicht mit dem zweiten Schluss endet?
Beachten Sie, dass in \version "2.19.81" der Code aus der ursprünglichen Frage direkt das Ergebnis dieser Antwort liefert. Daher müssen Sie measureLength nicht anpassen, wenn Sie die Entwicklungsversion verwenden.