bug-lilypond
[Top][All Lists]

## Re: Multiple repeat nested with alternative

 From: Peter Budny Subject: Re: Multiple repeat nested with alternative Date: Thu, 12 Mar 2009 20:09:15 +0000 (UTC) User-agent: Loom/3.14 (http://gmane.org/)

```Hans Aberg <haberg <at> math.su.se> writes:

>
>
> On 12 Mar 2009, at 09:49, Werner LEMBERG wrote:
>
> >>>                      ________     ________            ________
> >>> ________
> >>>                     [1.      ]   [2.                 [1.      ]  [2.
> >>> | x x x x | x x x x | x x x x :||: x x x x | x x x x | x x x x :||
> >>> x x x
> >>> | x |
> >>>     A         B         C            D         E
> >>> F           G
> >>>
> >>> The correct order of performance/reading should be:
> >>> A B C A B D E F D E G
>
> It might suffice to support a syntax like
>    \repeat volta 2 {A B}
>    \alternative {C}
>    \repeat volta 2 {D E}
>      \alternative {F}
>    G H I J ...
> That is, simply indicating one alternative less than in the "volta".
> LilyPond could then infer that there should be another alternative
> mark added in the following measure.

I gave this a try to see what LilyPond would do currently. It doesn't complain
about having not enough alternatives, but it marks the 1st alternative as
"1.-2.", and doesn't put the ending repeat barline. Basically, it assumes the
last expression in an \alternative is the final one and not to repeat.

> Strictly speaking, this additional last alternative mark is redundant
> from the semantic point of view: drop it and the music should be
> played the same. (Though it may have to be there for traditional
> reasons.)

You're right in this case, it isn't strictly necessary. But aside from being
traditional (particularly in vocal music) there are cases where you have to have
it for precision and clarity: If you were supposed to repeat 3 times, going on
the 3rd, then marking the first alternative "1.-2." and not indicating the final
time at all could be confused as only repeating 2 times.

My thought is that the current syntax has the wrong goal in mind. An
\alternative block adds alternatives for the LAST repeat and moves backwards,
rather than starting with the FIRST repeat. If there aren't enough alternatives
listed, it's assumed that the missing alternatives are empty alternatives for
the early repetitions.

Moreover, it would be great if there were a better way to do bookkeeping for
alternatives. Rather than doing markup text overrides, is there some way that
each alternative could be marked with which repeat(s) it belongs to, and
\alternative would automatically generate the correct volta bracket labels? And
perhaps a \finally command is needed to indicate that the rest of the music
following (outside the \alternative) should receive an open-ended volta bracket.
(This last one sounds to me like a straight-forward addition that would solve
half the problems.)

~ Peter

```