Dear Graham, David, all, I never used a real repeat structure for D.C. al Fine pieces. But your example, Graham, does it very nicely. I put it into a little function below which makes it easy to reuse. A \repeatsegno follows the same lines. I would consider these four versions to be standard structures: - D.C. al Fine: A F| B -> A B A - D.S. al Fine: A |S B F| D -> A B D B - D.C. al Coda: A C| B |C D -> A B A D - D.S. al Coda: A |S B C| D |C E -> A B D B E (|S = Segno, F| = Fine, C = Coda)
I know this has been discussed before [1] and found too hard to implement for all cases as a general repeat structure interface. But wouldn't it make sense to include some syntactic sugar like the function below for these standard cases? Of course in general you can do more with Segno, Coda, Fine than just these cases. But I think it would help quite often. If so, could it be done with the repeat command like this? { \repeat capofine 2 { a } { b } } { a \repeat segnofine 2 { b } { d } } { \repeat capocoda 2 { a } { b } { d } } { a \repeat segnocoda 2 { b } { d } { e } } (Names are surely debatable.) … or alternatively have some \fine, \coda, \segno commands (as such commands or bar lines) that print the marks and the bar lines – lacking the possibility to unfold. Cheers, Joram And here the function: \version "2.19.21" repeatfine = #(define-music-function (parser location firstpart secondpart) (ly:music? ly:music?) #{ \repeat volta 2 { $firstpart \bar "|." \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark \markup { \bold "Fine" } } \alternative { { \set Score.repeatCommands = #'((volta #f)) $secondpart \bar "||" \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark "D.C. al Fine" } { } } #}) %% example \relative { \repeatfine { a'2 b c d } { d c b c } } [1]: http://lilypond.1069038.n5.nabble.com/Da-Capos-Codas-and-Segnos-td112830.html _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user