The blog link is missed, appended here: https://findlab.github.io/2020/11/15/music-layout-language/
On Sun, Nov 15, 2020 at 6:20 PM K.L. <k.l.lam...@gmail.com> wrote: > Hi all. > > For a multiple voices music score, all voices share the same repeat > positions. Such as: > > << >> { >> \repeat volta 2 { g1 g g g } >> \repeat volta 2 { g g g g } >> } >> { >> \repeat volta 2 { c1 c c c } >> \repeat volta 2 { c c c c } >> } >> >> > > > The repeat layout information occurred 2 times, that is waste and > error-leading. > > Considering change it like this: > > \repeat layout "2*[1..4], 2*[5..8]" << >> { >> g1 g g g g g g g >> } >> { >> c1 c c c c c c c >> } >> >> > > > We can define a new DSL to express all kinds of repeat types, including > volta, volta-alternative and *D.C. al Fine* and so on. For some examples: > > [image: image.png] > code: *1, 2, 3, 4* > or: *1..4* > > [image: image.png] > code: *2*[1, 2], 3* > > [image: image.png] > > code: *2*[1, 2]{3, 4}* > > [image: image.png] > code: *<[1, 2], 3, 4>* > > Via this, exact MIDI performing for D.C. & D.S. can also be done. > > I have implemented a basic grammar parser in my project to facilitate > score edition. See the demo video > <https://www.youtube.com/watch?v=uUOV-Kjrt4M>. And my blog to descript > details. > >> > Beside measure indices, we can consider adding some grammar to express > partial measure, like '1 + 1/4'. But the upbeat beginning music's measure > index rule seems a little ambiguous. We should clarify how the measure > index works in any situation first. > > Glad to hear any ideas. > >