Csound Csound-dev Csound-tekno Search About

Re: MIDI input

Date1998-07-23 22:57
FromRichard Dobson
SubjectRe: MIDI input
The point being that DirectX is a hardware-independent way of addressing the
hardware directly. It was never needed until PC's got fast enough to do complex
audio i/o in real-time. Microsoft has simply introduced a new solution to a new
requirement. DirectX depends on manufacturers including DirectX driver support
for their card. Otherwise, performance degrades to that of standard Mmedia -
Windows emulates DirectX on your behalf, using the normal WAVE driver.

People do seem to have short memories, regarding Windows. When Windows 3.1 came
out, with multimedia support, it was typically running on a 386-based machine,
with 4Mbytes of RAM, and a hard disk with a 45musec access time. I had such a
machine. I wrote my own code to send audio to a Motorola-based DSP development
card. The hard disk was not fast enough to do 44K stereo. DirectX would not have
made any difference to that! There are many things one can criticize Microsoft
about, but 'not doing then what there was no possible reason to do then' is not
one of them. :-)

It is also sometimes forgotten that that the PC was, and still is, primarily a
general-purpose computer (albeit highly expandable and customizable); such a
machine will probably ~always~ have limitations when being pushed to do
zero-latency audio. That is not Microsoft's fault either.


Richard Dobson



pete moss wrote:
> 
> i would say that it is making up for other windows problems.  basically,
> directx allows access directly to the  hardware instead of going through the
> various software layers first.  I think windows is rather thick
> software-wise.

Date1998-07-24 00:26
FromEli Brandt
SubjectRe: MIDI input
Richard Dobson wrote:
> It is also sometimes forgotten that that the PC was, and still is,
> primarily a general-purpose computer (albeit highly expandable and
> customizable); such a machine will probably ~always~ have limitations
> when being pushed to do zero-latency audio. That is not Microsoft's
> fault either.

I have to defend the PC here: the hardware is not the problem.  Bare,
its interrupt latency is well down in the microsecond range.  Even
DMA-based sound cards can reasonably work with blocks of a millisecond
or so, not to mention the modern cards.

And under DOS (including Windows 3.1) you can actually get that kind
of latency.  Under 95 or NT4, using the normal APIs, you can't.
You can't reliably get your user-mode code executed often enough to
prevent buffer underflow.  This is, if we're assigning blame, most
certainly Microsoft's fault.

DirectSound is much better than MMSYSTEM, enough so that the audio
output is no longer the limiting factor (unless you'd like to use NT);
we're up against these general real-time issues.  I can hardly fault
Microsoft's strategic decision to punt on them: they're selling to
the 99% that don't care (and figuring few of the 1% will switch to
Irix or BeOS or whatever anyway -- et tu?).

So people end up writing device drivers.  Bleh.

--