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 14:59:03 +0100

```On 13 Mar 2009, at 13:48, Valentin Villenave wrote:

```
```I'd happily add an official enhancement request for that, but I need a
more precise and specific report (preferably with a minimal example).
```
```
```
Each \alternative might need a subsequence of the integer interval [1...n] indicated. For example, suppose someone wanted truly large repeat numbers, then it might be inconvenient to write them out all; just take 1-3,5,7-8,10 to illustrate the feature. Is there a lilyPond construct already that might express such a thing?
```
```
Then the feature that initiated this thread, the "hanging" last alternative, it strikes me might just be a way to indicate that it is empty. So a syntax like
```  \repeat volta {A B}
\alternative {C}
\alternative {}
\repeat volta {D E}
\alternative {F}
\alternative {}
G H I J ...
```
might suffice for that. - It seems me that the number after "volta" is redundant, but might be kept as a check.
```
So combining these ideas, one might want to be able to write
\repeat volta {A}
\alternative 1,3 {B1}
\alternative 2 {B2}
\alternative 4-6 {B3}
\alternative {}
C
thus calling for
A B1 A B2 A B1 A B3 A B3 A B3 A C
typeset as
______  ______  ______  __
|1,3.  ||2.    ||4-6.  ||7.
| ... | ... :|| ... :|| ... :|| ... |
A     B1      B2      B3      C
```
With no terminating hook on the last case (7). Here, C is just what follows. So if it is a part of a following \repeat volta ..., it should look like
```       ______  ______  ______  __
|1,3.  ||2.    ||4-6.  ||7.
| ... | ... :|| ... :|| ... :||: ... |
A     B1      B2      B3      C
Also, the number 7 could written in and the number 2 could be dropped:
\repeat volta 7 {A}
\alternative 1,3 {B1}
\alternative {B2}
\alternative 4-6 {B3}
\alternative 7 {}
C
```
That is, if not numbers follows an \alternative, just the next unused number in the sequence 1, 2, 3, ... is filled in.
```
```
Would this not be backwards compatible with the current syntax and semantics for the cases it covers?
```
Hans

```