lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A proposal of organize music paragraph layout by a new DSL


From: K.L.
Subject: A proposal of organize music paragraph layout by a new DSL
Date: Sun, 15 Nov 2020 18:20:12 +0800

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 <http://I have implemented a basic grammar parser in my project
to facilitate score edition. See the demo video. My blog to illustrate
this.> 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.

PNG image

PNG image

PNG image

PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]