wine/include/xaudio2fx.idl
Zebediah Figura 14c44d0b0a xaudio2: Use the preprocessor to modify definitions in xaudio2.idl and xaudio2fx.idl.
Instead of including the IDLs directly, define a local IDL that #includes them,
with XAUDIO2_VER defined, and include that generated header.

Get rid of compat.c, and use XAUDIO2_VER to modify the code in the other source
files.

Build the tests for both xaudio2_7 and xaudio2_8 using PARENTSRC, and use
XAUDIO2_VER to select between them. This mirrors the approach taken for
d3dcompiler, and makes it easier to test more xaudio2 versions in the future.
2023-06-07 22:48:27 +02:00

75 lines
2.1 KiB
Text

/*
* Copyright (c) 2015 Andrew Eikum
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "unknwn.idl";
#ifndef XAUDIO2_VER
#define XAUDIO2_VER 9
#endif
#if XAUDIO2_VER < 8
[
threading(both),
#if XAUDIO2_VER == 0
uuid(c0c56f46-29b1-44e9-9939-a32ce86867e2)
#elif XAUDIO2_VER == 1
uuid(c1e3f122-a2ea-442c-854f-20d98f8357a1)
#elif XAUDIO2_VER == 2
uuid(f5ca7b34-8055-42c0-b836-216129eb7e30)
#elif XAUDIO2_VER == 3
uuid(e180344b-ac83-4483-959e-18a5c56a5e19)
#elif XAUDIO2_VER == 4
uuid(c7338b95-52b8-4542-aa79-42eb016c8c1c)
#elif XAUDIO2_VER == 5
uuid(2139e6da-c341-4774-9ac3-b4e026347f64)
#elif XAUDIO2_VER == 6
uuid(e48c5a3f-93ef-43bb-a092-2c7ceb946f27)
#else
uuid(cac1105f-619b-4d04-831a-44e1cbf12d57)
#endif
]
coclass AudioVolumeMeter {}
[
threading(both),
#if XAUDIO2_VER == 0
uuid(6f6ea3a9-2cf5-41cf-91c1-2170b1540063)
#elif XAUDIO2_VER == 1
uuid(f4769300-b949-4df9-b333-00d33932e9a6)
#elif XAUDIO2_VER == 2
uuid(629cf0de-3ecc-41e7-9926-f7e43eebec51)
#elif XAUDIO2_VER == 3
uuid(9cab402c-1d37-44b4-886d-fa4f36170a4c)
#elif XAUDIO2_VER == 4
uuid(8bb7778b-645b-4475-9a73-1de3170bd3af)
#elif XAUDIO2_VER == 5
uuid(d06df0d0-8518-441e-822f-5451d5c595b8)
#elif XAUDIO2_VER == 6
uuid(cecec95a-d894-491a-bee3-5e106fb59f2d)
#else
uuid(6a93130e-1d53-41d1-a9cf-e758800bb179)
#endif
]
coclass AudioReverb {}
#else
HRESULT __stdcall CreateAudioReverb(IUnknown **out);
HRESULT __stdcall CreateAudioVolumeMeter(IUnknown **out);
#endif