[Bug 18992] Running status should be prohibited

https://www.w3.org/Bugs/Public/show_bug.cgi?id=18992

--- Comment #3 from Chris Wilson <cwilso@gmail.com> 2012-09-25 18:00:50 UTC ---
> Interesting, somehow I didn't even know of Running Status messages. I also find
> it odd that USB-MIDI doesn't support it, couldn't it just treat it as an
> arbitrary message? Weird.

>From reading the USB-MIDI spec
(http://www.usb.org/developers/devclass_docs/midi10.pdf) - it parses MIDI
messages, rather than just treating it as a stream of uninterpreted data (see
section "USB-MIDI Event Packets").  Running status would interfere with that -
you would have to explicitly support running status in order to parse into
messages.

> Anyhow, I think the course of action should be to just fix running status
> messages, e.g. if the developer sends a running status message, the underlying
> implementation will add the status byte and same for receiving. 

I think we should mention running status and simply say use of running status
is not recommended, as many MIDI devices will not support them - but we don't
explicitly try to error out on them or anything.  This isn't fundamentally any
different than OS APIs today.

> I'm not sure it
> makes sense to explicitly prohibit Running Status messages, as if we can detect
> them we can also just add the missing byte. Does that encourage people to use
> running status? I doubt it, they'd have to keep track of the previous status to
> keep the stream functional to no apparent performance gain even. But
> "supporting" Running Status may well help someone porting old software to the
> web, this could be a hard to debug issue.

I don't think so.  My understanding of support of running status is that it's
mostly used in file storage (i.e. Standard MIDI files).

> As a side note, I'm rather unhappy to learn something like that even exists.
> Sounds like a silly convenience addition that just makes things break. :(

Heh.  Just wait until you realize that Running Status is *THE* reason why a
MIDI Note On message with a velocity of zero is explicitly the same as a MIDI
Note Off.  That way, you can compress a dense passage of note on/note off
messages by 33%.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 25 September 2012 18:00:51 UTC