On Fri, Oct 19, 2018 at 06:09:19PM -0500, Ken Thomases wrote:
On Oct 19, 2018, at 2:07 PM, Alexandre Julliard julliard@winehq.org wrote:
Henri Verbeet hverbeet@gmail.com writes:
On Fri, 19 Oct 2018 at 19:51, Henri Verbeet hverbeet@gmail.com wrote:
I think I missed a step there... why is copying the code into the Wine tree a given? Does FNA not provide an API for external users?
Actually, I read over that mail a little to quickly, and missed the second option, so ignore that reply.
Perhaps unsurprisingly, I'm in favour of having FNA be a proper library with a stable API that Wine can link against like everyone else.
Yes, clearly this would be the preferred approach.
Is there any need/desire/benefit for XAudio2 to go through the other Windows audio APIs (e.g. MMDevAPI, WASAPI) for proper integration? Coherent enumeration of devices? Audio mixing from different APIs? Client control of audio devices? User control via winecfg or the registry?
Yes, we need to use and output through Wine's mmdevapi. There are cross-API structures that should function (device IDs, default device selection, global mixer state). I think it wouldn't be hard to provide user hooks for that functionality in FAudio, like they're working on for the allocator stuff.
There's code for it at https://github.com/FNA-XNA/FAudio/issues/31 , it just needs to be formalized into the FAudio API.
Andrew