MIDI-OX User Forum (http://www.midiox.com/cgi-bin/yabb/YaBB.pl)
MIDI-OX >> Questions and Discussion >> What Midi API does Midi-Ox use?
(Message started by: mgstauffer on Jul 16th, 2002, 11:08pm)

Title: What Midi API does Midi-Ox use?
Post by mgstauffer on Jul 16th, 2002, 11:08pm
I'm wondering how Midi-Ox is programmed (just the basic approach, that is). Does it use 32-16 thunking, legacy Win32 Midi API, or DirectMusic? Or something custom? Since it supports NT, it can't be using DirectMusic or thunking, at least not in that version, unless I'm confused. In any case, I'm curious because I was wondering how much to trust its timestamps and its BPM analysis of received midi sync.

Also, thanks for creating Midi-Ox! It's been a great help to me.    :)

Many thanks,
Michael

Title: Re: What Midi API does Midi-Ox use?
Post by Jamie OConnell on Jul 17th, 2002, 12:54am
Under Windows 9x, MIDI-OX uses the 16 bit MME APIs through a thunking layer.  Under Windows NT (2000, XP) it goes directly to the 32 bit MME API's.  Although the NT 32 bit MIDI is not quite as good as the 16 bit MIDI API's with regard to latency, it's definitely usable, and better than the 32 bit API's on WIN 9x.  The Win 32 MIDI APIs on Windows 95 are unusable.  

When MIDI-OX launches it checks the OS version to decide which of its DLLs to load, although under Win 9x that can be overriden by an INI variable.

Time stamps are the ones reported by the respected drivers.  When drivers are opened or reopened, midiStart() is called on all of them which resets the timestamps to 0.  I believe you can reliably trust their accuracy.



MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.