- From: Chris Wilson <cwilso@google.com>
- Date: Fri, 8 Mar 2013 07:55:24 -0800
- To: James Ingram <j.ingram@netcologne.de>
- Cc: public-audio-dev@w3.org
- Message-ID: <CAJK2wqWr=zk2yabkG7feUKE-JkvMLfyG=4Kxqf1Jg2HrGXQhnQ@mail.gmail.com>
Ah, I see. Real-time messages are supported - they're quite important for sequencer synchronization. They cannot be received in the middle of ANY messages - only in the middle of system-exclusive messages. (You would not interrupt a 3-byte note-on message with a real-time message; you'd wait and send it after, since you'd only cause a half-millisecond or so of jitter. Sys-ex messages, though, can be quite long, so you need to be able to send real-time during that time span.) I'll add a comment; I would expect, actually, that a real-time message occurring in the middle of a sysex message would be dispatched immediately via message event, while the system message would be buffered until it is complete (although the timestamp would be the beginning of the message, allowing you to recreate the ordering). So: a) yes, Web MIDI supports real-time messages. b) In Web MIDI applications, real-time messages may be received while another (sys-ex) message is being received and buffered by the system, but real-time message data would not be interleaved in other message data; they are dispatched as separate messages. -C On Fri, Mar 8, 2013 at 6:13 AM, James Ingram <j.ingram@netcologne.de> wrote: > Hi Chris, > > [...] running status is a way of compressing *multiple* MIDI messages > into one long stream. At this point, the UInt8Array could only contain the > bytes of ONE message in that stream - so it would have to be expanded > already. > > > The penny just dropped. > I've been confusing "Running Status" with "Real Time" messages (1-byte > messages in Range 0xF8-0xFF), and will have to revise the corresponding > names in my midiLib library. -- Thanks for your patience. > > The docs I'm using say that MIDI devices can send Real Time messages at > any time, even inside other messages. > > As far as I can see, the Web MIDI API draft [1] does not mention Real Time > messages at all. > > Can I assume that > a) Web MIDI applications can both receive and send Real Time messages. > b) In Web MIDI applications, RealTime messages are never received in the > middle of some other message. [1] Section 8.1 says > > A Uint8Array containing the MIDI data bytes of a single MIDI message > > > all the best, sorry about the confusion, > James > > [1] http://webaudio.github.com/web-midi-api/ >
Received on Friday, 8 March 2013 15:55:55 UTC