Re: Issue 3. Cursor and explicit positions

Hi Cecilio,

Thanks for your note. I believe we have been thinking along the same lines,
actually. I think your recommendations below have already been addressed by
the proposal:

- Impose the restriction that voices are declared in sequence (not
> necessary for all the part but just for each measure).
>

MNX does require that all voices be declared in sequence. These are
<sequence> elements. See:
       https://w3c.github.io/mnx/overview/#sequences


> - Restrict <cursor> to advance time just for a voice: going back not
> allowed; advancing time for many voices not allowed.
>

MNX does propose a cursor, and it is automatically advanced for every note
or chord. See:
       https://w3c.github.io/mnx/overview/#the-sequence-cursor


> - Change the tag name for better understanding of its semantics: something
> as <voice-gap>, <gap> or <empty-event> would be better.


MNX does propose an empty event, which is currently called <space>. There
is even an issue suggesting that perhaps an empty <event> would be better.
See:
       https://w3c.github.io/mnx/overview/#spaces

Perhaps the document was not clear enough to see this; please let me know
if I have misunderstood.

Best,

.            .       .    .  . ...Joe

Joe Berkovitz
Founder
Noteflight LLC

49R Day Street
Somerville MA 02144
USA

"Bring music to life"
www.noteflight.com

On Mon, Mar 27, 2017 at 1:59 PM, cecilio <s.cecilio@gmail.com> wrote:

> Just some quick thoughts on cursor and explicit positions.
>
> First, just to say that I totally agree with the design goal of reducing
> book-keeping and post-processing.
>
> In my opinion probably the idea of <cursor> comes from the need to
> represent overlayed voices as I cannot think on other uses. But if each
> event has a mandatory voice associated to it, and events in a voice are
> declared before starting the events in the next voice, the need for a
> cursor practically disappears. It is only needed for gaps in a voice
> (non-visible rests).
>
> So my proposal is to maintain <cursor> but:
>
> - Impose the restriction that voices are declared in sequence (not
> necessary for all the part but just for each measure).
> - Restrict <cursor> to advance time just for a voice: going back not
> allowed; advancing time for many voices not allowed.
> - Change the tag name for better understanding of its semantics: something
> as <voice-gap>, <gap> or <empty-event> would be better.
>
> Or better, suppress <cursor> and replace it by a real empty event (no
> notes/rests inside it). i.e. instead of:
>
>     <cursor>
>         <duration xx>
>         <voice x>
>     </cursor>
>
> use
>
>     <event>
>         <duration xx>
>         <voice x>
>     </event>
>
> As no cursor exists, the MNX user is forced to think in semantic instead
> of on procedural tricks to achieve the desired goals.
>
> As to explicit positions, they are not needed (cursor solves the problem)
> and introduce much book-keeping/processing because absolute measurements
> creates a lot of problems. For instance, in notation editors, in operations
> such as copy/paste, insertions an deletions.
>
> Cecilio Salmeron
>

Received on Monday, 27 March 2017 18:18:22 UTC