XACTEngine is similar to X3DAudio/XAPOFX in that they’re separate DLLs from XAudio2, but are still very tightly coupled with XAudio2 itself. In XACT’s case, we depend on both xaudio_private.h and xaudio_allocator.c, due to the need to unravel the engine/voice pointers as well as keep the exact same custom allocator callbacks as the rest of the XAudio DLLs, per FAudio’s request:
https://github.com/FNA-XNA/FAudio/blob/master/extensions/CustomAllocatorEXT....
That said, XACT didn’t get looped into XAudio 2.8+ like the other DLLs, so it would still make a little sense to have it in xactengine3_7 instead… if it’s okay for me to move the xact_* files but still depend on stuff in the xaudio2_7 folder, I can get that done today.
-Ethan
On Feb 18, 2019, at 10:34 AM, Alexandre Julliard julliard@winehq.org wrote:
elee@codeweavers.com writes:
create mode 100644 dlls/xactengine3_0/Makefile.in create mode 100644 dlls/xactengine3_0/xactengine3_0.spec create mode 100644 dlls/xactengine3_1/Makefile.in create mode 100644 dlls/xactengine3_1/xactengine3_1.spec create mode 100644 dlls/xactengine3_2/Makefile.in create mode 100644 dlls/xactengine3_2/xactengine3_2.spec create mode 100644 dlls/xactengine3_3/Makefile.in create mode 100644 dlls/xactengine3_3/xactengine3_3.spec create mode 100644 dlls/xactengine3_4/Makefile.in create mode 100644 dlls/xactengine3_4/xactengine3_4.spec create mode 100644 dlls/xactengine3_5/Makefile.in create mode 100644 dlls/xactengine3_5/xactengine3_5.spec create mode 100644 dlls/xactengine3_6/Makefile.in create mode 100644 dlls/xactengine3_6/xactengine3_6.spec create mode 100644 dlls/xactengine3_7/Makefile.in create mode 100644 dlls/xactengine3_7/xactengine3_7.spec create mode 100644 dlls/xaudio2_7/xact_classes.idl create mode 100644 dlls/xaudio2_7/xact_dll.c
That's ugly, the xactengine dlls should not be sharing source with xaudio2_7, but only among themselves.
-- Alexandre Julliard julliard@winehq.org