bug-lilypond
[Top][All Lists]

Re: Multiple repeat nested with alternative

 From: Hans Aberg Subject: Re: Multiple repeat nested with alternative Date: Fri, 13 Mar 2009 10:55:09 +0100

```On 12 Mar 2009, at 21:09, Peter Budny wrote:

```
```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.
```
```
```
I think this behavior is (or was) mentioned in the manual. Whar you ask for has been overlooked.
```
```
```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.
```
```
I realized this, too, after posting.

```
```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.
```
```
Yes.

```
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.)
```
```
```
I suspect the current construct is there in order automation in case one does not give sufficient number of alternatives (see the manual). However, this is not useful if one wants something that departs from that default.
```
Perhaps a syntax like
\repeat volta {A B}
\alternative 1 2 {C1}
\alternative 3 {C2}
\alternative 4 {C3}
\alternativecontinuation
\repeat volta {D E}
\alternative {F}
\alternativecontinuation
G H I J ...
```
might be more useful. One might admit adding the total number as a safety check.
```
Hans

```