Hi,
I'm typesetting a score with repeats, where only one of the instruments
has alternative endings, whereas for all the other instruments, the 1st
and 2nd volta are identical. Reading the manual,
[1]http://lilypond.org/doc/v2.23/Documentation/notation/long-repeats#al
ternative-endings, it says about specifications within the alternative
block that "If they are omitted, alternatives are used once each, but
the first is repeated as needed to satisfy the repeat count. "
This gives the impression that it should be possible to only specify
the alternative once for the instruments where the both endings should
be identical, and for a single stave score Lilypond does indeed typeset
something that is semantically correct:
\version "2.23.5"
\fixed c' \new Staff {\repeat volta 2 {c1 }\alternative{{c}} d }
which is typeset with a single volta block marked "1. 2." (in version
2.22 and earlier, the repeat sign wasn't typeset correctly in this
example, but that seems to be fixed in 2.23.5).
However, when you have multiple staves, whereof one has different first
and second endings, the typeset version is semantically incorrect:
\version "2.23.5"
\score{
\fixed c'
\new StaffGroup <<
\new Staff {\repeat volta 2 {c1 }\alternative{{c}} d }
\new Staff {\repeat volta 2 {e1 }\alternative{{g}{c'}} d' }
>>
}
and the marking of the volta blocks depends on which stave happens to
be typeset at the top, as the following example illustrates, where the
two staves have been swapped:
\version "2.23.5"
\score{
\fixed c'
\new StaffGroup <<
\new Staff {\repeat volta 2 {e1 }\alternative{{g}{c'}} d' }
\new Staff {\repeat volta 2 {c1 }\alternative{{c}} d }
>>
}
I know that there's ongoing work on the \repeats and I haven't tried
the latest version in git, so perhaps this has already improved, but I
leave it as a feature request that both the two latter examples result
in a typeset score with two volta blocks marked "1." and "2.", where
the alternative is repeated for the staves where only a single
alternative is specified. If that's very hard to implement, please add
a note in the documentation, along the lines of
"Note: Specify the same number of alternatives for all staves, to avoid
unexpected results."
It's obviously easy to workaround the current limitations, for example
by defining a substitution function that repeats the alternative ending
twice, but it would still be very convenient with an implementation
that actually agrees with the current formulation in the NR.
/Mats
References
1.
http://lilypond.org/doc/v2.23/Documentation/notation/long-repeats#alternative-endings