• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: It cannot be done under OS X !!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: It cannot be done under OS X !!


  • Subject: Re: It cannot be done under OS X !!
  • From: Doug Wyatt <email@hidden>
  • Date: Mon, 29 Mar 2004 12:27:41 -0800

On Mar 27, 2004, at 11:50, Herbie Robinson wrote:
At 10:04 AM -0800 3/27/04, John Lazzaro wrote:
From: http://www.borg.com/~jglatt/tech/midifile/evts.htm

Really oddball midi units send a system exclusive message as a
series of small "packets" (with a time delay inbetween transmission
of each packet). The first packet begins with an F0, but it doesn't end
with an F7. The subsequent packets don't start with an F0 nor end with
F7. The last packet doesn't start with an F0, but does end with the F7.
So, between the first packet's opening F0 and the last packet's closing F7,
there's 1 SYSEX message there. [... see URL above for more info ...]

Referring to such devices as oddball gives the impression that they are doing something wrong. I'm sure that John is aware of this, but some other may not be: The MIDI standard intentionally allows the intermingling of SYSEX with other MIDI data under the assumption that SYSEX is low priority data. This may not get done a lot, but it is something the standard writers intended to happen.

Any piece of gear that cannot deal with broken up or intermittent SysEx data is not compliant with the MIDI standard.

Umm, what do you mean by "broken up" and "intermingling"? I know this probably isn't what you meant, but an incorrect interpretation seemed possible :-) To prevent misunderstandings .... This MIDI stream:

F0 <manufID> 00 01 02 03 04 05 (beginning of sysex)
90 40 40 (note on)
06 07 08 09 F7 (end of sysex)

should be parsed into the following commands:

F0 <manufID> 00 01 02 03 04 05 F7 (complete sysex)
90 40 40 (note on)
90 06 07 (note on, running status)
90 08 09 (note on, running status)
F7 (no-op)

This MIDI stream can and should be handled as is:
F0 <manufID> 00 01 02 03 04 05 F7 (one sysex)
90 40 40 (note on)
F0 <manufID> 06 07 08 09 F7 (one sysex)

Anyhow, we're on a tangent.

My understanding of what TC is doing is that they are sending:

F0 <header> <8-bit binary data> F7

and expecting CoreMIDI, the MIDI driver, the MIDI interface, and any other MIDI mergers in the path to not alter the stream in any way (even though its meaning according to the MIDI spec becomes something other than a single sysex message as soon as a status byte appears).

If this works anywhere, it's because the entire software/hardware path between the sending app and the receiver happens not to have any MIDI parsers in it.

Doug
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.


  • Follow-Ups:
    • Re: It cannot be done under OS X !!
      • From: Neil Johnson <email@hidden>
References: 
 >Re: It cannot be done under OS X !! (From: "John Lazzaro" <email@hidden>)
 >Re: It cannot be done under OS X !! (From: Herbie Robinson <email@hidden>)

  • Prev by Date: Re: AUVarispeed Question
  • Next by Date: Re: question about outCurrentMeasureDownBeat in the Musical Time Callback
  • Previous by thread: Re: It cannot be done under OS X !!
  • Next by thread: Re: It cannot be done under OS X !!
  • Index(es):
    • Date
    • Thread