On Aug 29, 2020, at 15:50, Dan Eble <d...@faithful.be> wrote: > > On Aug 29, 2020, at 14:52, David Kastrup <d...@gnu.org> wrote: >> >> \repeat volta 40 { >> ... >> \alternative { ... } >> \alternative { ... } >> \alternative { ... } >> } >> >> since that would avoid several syntactical problems and would allow to >> produce alternatives by music functions. > > I agree, but that's a little too far into fantasy land for me to attempt > right now.
After further thought, I believe we can do this, but using \volta where you have \alternative. These are my current thoughts (some informed by experiment). \volta i,j,k can be used anywhere and is semantically similar to tags. During unfolding, music is kept which is either marked for the current volta or is unmarked. An important difference from tags is that unfolding will avoid processing nested repeats before their time. If you write { \volta 6,12 {…} … \volta 12,13,5 {…} }, LilyPond will give you what you seem to be asking for, in repeat layout, unfolded layout, and in midi, and not try to make more sense of it than is necessary. \alternative remains (but at some point is renamed \alternatives) for these reasons at least: a. backward compatibility: the legacy syntax produces the same data structures as if \volta had been used b. it provides a scope in which LilyPond can derive implied volta numbers as previously discussed in this thread c. like (b), it might be helpful for producing brackets (but I haven't thought much about it yet) — Dan