- From: James Ingram <j.ingram@netcologne.de>
- Date: Fri, 08 Mar 2013 18:43:27 +0100
- To: Chris Wilson <cwilso@google.com>
- CC: public-audio-dev@w3.org
- Message-ID: <513A233F.4080404@netcologne.de>
Hi Chris, Understood. Thanks. The info about running-status was also useful. I'll be updating my docs in both areas soon. :-) best, James On 08.03.2013 16:55, Chris Wilson wrote: > 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 > <mailto: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/ > > -- http://james-ingram-act-two.de/
Received on Friday, 8 March 2013 17:44:05 UTC