- From: Joe Berkovitz <joe@noteflight.com>
- Date: Mon, 27 Mar 2017 14:17:48 -0400
- To: cecilio <s.cecilio@gmail.com>
- Cc: public-music-notation-contrib@w3.org
- Message-ID: <CA+ojG-bxVOurdnwjFHd8rzO0ZSL9KMFXN4V9VxOPp0Td4vBBYg@mail.gmail.com>
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