Mike Hearn wrote:
On Fri, 2004-05-07 at 19:56 +0000, James Courtier-Dutton wrote:
I have been working on improving wine support for alsa, but have run into some problems. Windows sound api is so incredibly bad. :-(
Well, you don't work on Wine for the joy of working with the best tools ...
I might just work on getting DirectSound working, and the get winmm to use direct sound instead of winmm using the sound card directly.
I'm pretty sure that's the wrong way around. DirectSound is implemented on top of WinMM for a reason: I'm pretty sure that's how it's done in Windows and anyway, we don't want to duplicate drivers.
That's counterintuitive to me. From what I can gather, DirectSound and WinMM is pretty intertwined:
http://kxproject.lugosoft.com/tech.php?language=en
So given a choice I'd rather implement a sucky API (WinMM) on top of a not-so-sucky API. (DirectSound).
Compare how we do it with Direct3D... we don't implement the same structure internally as Microsoft do. If we did, we could use Microsofts Direct3d.dll (or whatever it's name is) and implement our "drivers" against that. Instead we just bypass it all... AFAIK.
Also consider that DirectSound is supposed to be somewhat low latency. Then it maybe isn't the best thing to insert another API in between Linux and DirectSound. (But this might not matter in practice.)
We need to get to a single API between sound hardware and windows apis.
Yes, that is WinMM
I think winmm should work over directsound ok. I just need to look into what ASIO does now.
I think ASIO loads kernel drivers and bypasses the whole thing.
Yes... Wine should be possible to emulate it nevertheless?
regards, Jakob