xapofx1_5: Use shared source.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
1f37225a72
commit
d8739d4433
|
@ -13719,6 +13719,7 @@ fi
|
|||
if test "x$ac_cv_have_openalsoft" != xyes
|
||||
then
|
||||
as_fn_append wine_notices "|openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported"
|
||||
enable_xapofx1_5=${enable_xapofx1_5:-no}
|
||||
enable_xaudio2_0=${enable_xaudio2_0:-no}
|
||||
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
||||
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
||||
|
|
|
@ -1662,6 +1662,7 @@ fi
|
|||
if test "x$ac_cv_have_openalsoft" != xyes
|
||||
then
|
||||
WINE_NOTICE([openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported])
|
||||
enable_xapofx1_5=${enable_xapofx1_5:-no}
|
||||
enable_xaudio2_0=${enable_xaudio2_0:-no}
|
||||
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
||||
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
EXTRADEFS = -DXAPOFX1_VER=5 -DXAUDIO2_VER=7
|
||||
MODULE = xapofx1_5.dll
|
||||
IMPORTS = ole32
|
||||
PARENTSRC = ../xaudio2_7
|
||||
|
||||
C_SRCS = \
|
||||
main.c
|
||||
xapofx.c
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Austin English
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "initguid.h"
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "compobj.h"
|
||||
#include "xapofx.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
|
||||
|
||||
BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
|
||||
{
|
||||
switch (reason)
|
||||
{
|
||||
case DLL_WINE_PREATTACH:
|
||||
return FALSE; /* prefer native version */
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls(instance);
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
HRESULT CDECL CreateFX(REFCLSID clsid, IUnknown **out)
|
||||
{
|
||||
const GUID *class = clsid;
|
||||
|
||||
TRACE("%s %p\n", debugstr_guid(clsid), out);
|
||||
|
||||
if(IsEqualGUID(clsid, &CLSID_FXReverb27) ||
|
||||
IsEqualGUID(clsid, &CLSID_FXReverb))
|
||||
class = &CLSID_WINE_FXReverb15;
|
||||
else if(IsEqualGUID(clsid, &CLSID_FXEQ27) ||
|
||||
IsEqualGUID(clsid, &CLSID_FXEQ))
|
||||
class = &CLSID_WINE_FXEQ15;
|
||||
|
||||
return CoCreateInstance(class, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)out);
|
||||
}
|
|
@ -23,6 +23,7 @@
|
|||
#define NONAMELESSUNION
|
||||
#define COBJMACROS
|
||||
|
||||
#include "initguid.h"
|
||||
#include "xaudio_private.h"
|
||||
#include "xapofx.h"
|
||||
|
||||
|
@ -30,6 +31,23 @@
|
|||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
|
||||
|
||||
#ifdef XAPOFX1_VER
|
||||
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved)
|
||||
{
|
||||
TRACE("(%p, %d, %p)\n", hinstDLL, reason, pReserved);
|
||||
|
||||
switch (reason)
|
||||
{
|
||||
case DLL_WINE_PREATTACH:
|
||||
return FALSE; /* prefer native version */
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls( hinstDLL );
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#endif /* XAPOFX1_VER */
|
||||
|
||||
typedef struct _VUMeterImpl {
|
||||
IXAPO IXAPO_iface;
|
||||
IXAPOParameters IXAPOParameters_iface;
|
||||
|
@ -860,3 +878,43 @@ HRESULT CDECL CreateFX(REFCLSID clsid, IUnknown **out, void *initdata, UINT32 in
|
|||
return S_OK;
|
||||
}
|
||||
#endif /* XAUDIO2_VER >= 8 */
|
||||
|
||||
#ifdef XAPOFX1_VER
|
||||
HRESULT CDECL CreateFX(REFCLSID clsid, IUnknown **out)
|
||||
{
|
||||
HRESULT hr;
|
||||
IUnknown *obj;
|
||||
const GUID *class = NULL;
|
||||
IClassFactory *cf;
|
||||
|
||||
TRACE("%s %p\n", debugstr_guid(clsid), out);
|
||||
|
||||
*out = NULL;
|
||||
|
||||
if(IsEqualGUID(clsid, &CLSID_FXReverb27) ||
|
||||
IsEqualGUID(clsid, &CLSID_FXReverb))
|
||||
class = &CLSID_AudioReverb27;
|
||||
else if(IsEqualGUID(clsid, &CLSID_FXEQ27) ||
|
||||
IsEqualGUID(clsid, &CLSID_FXEQ))
|
||||
class = &CLSID_FXEQ;
|
||||
|
||||
if(class){
|
||||
cf = make_xapo_factory(class, 20 + XAUDIO2_VER);
|
||||
|
||||
hr = IClassFactory_CreateInstance(cf, NULL, &IID_IUnknown, (void**)&obj);
|
||||
IClassFactory_Release(cf);
|
||||
if(FAILED(hr))
|
||||
return hr;
|
||||
}else{
|
||||
hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&obj);
|
||||
if(FAILED(hr)){
|
||||
WARN("CoCreateInstance failed: %08x\n", hr);
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
|
||||
*out = obj;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
#endif /* XAPOFX1_VER */
|
||||
|
|
|
@ -77,13 +77,6 @@ coclass FXReverb13 { interface IXAPO; }
|
|||
]
|
||||
coclass FXReverb14 { interface IXAPO; }
|
||||
|
||||
[
|
||||
helpstring("XAPOFX1.5 FXReverb Class (Wine)"),
|
||||
threading(both),
|
||||
uuid(a90bc001-e897-e897-7439-43FF02000105)
|
||||
]
|
||||
coclass FXReverb15 { interface IXAPO; }
|
||||
|
||||
[
|
||||
helpstring("XAPOFX1.1 FXEQ Class (Wine)"),
|
||||
threading(both),
|
||||
|
@ -111,13 +104,6 @@ coclass FXEQ13 { interface IXAPO; }
|
|||
uuid(a90bc001-e897-e897-7439-43FF00000104)
|
||||
]
|
||||
coclass FXEQ14 { interface IXAPO; }
|
||||
|
||||
[
|
||||
helpstring("XAPOFX1.5 FXEQ Class (Wine)"),
|
||||
threading(both),
|
||||
uuid(a90bc001-e897-e897-7439-43FF00000105)
|
||||
]
|
||||
coclass FXEQ15 { interface IXAPO; }
|
||||
#endif /* XAUDIO2_VER == 7 */
|
||||
|
||||
#if XAUDIO2_VER == 6
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
#define NONAMELESSUNION
|
||||
#define COBJMACROS
|
||||
|
||||
#include "initguid.h"
|
||||
|
||||
#include "xaudio_private.h"
|
||||
|
||||
#include "ole2.h"
|
||||
|
@ -2070,8 +2068,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
|
|||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){
|
||||
factory = make_xapo_factory(&CLSID_AudioReverb27, 26);
|
||||
|
||||
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27) ||
|
||||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb15)){
|
||||
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27)){
|
||||
factory = make_xapo_factory(&CLSID_AudioReverb27, 27);
|
||||
|
||||
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ10)){
|
||||
|
@ -2084,8 +2081,6 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
|
|||
factory = make_xapo_factory(&CLSID_FXEQ, 24);
|
||||
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ14)){
|
||||
factory = make_xapo_factory(&CLSID_FXEQ, 26);
|
||||
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ15)){
|
||||
factory = make_xapo_factory(&CLSID_FXEQ, 27);
|
||||
}
|
||||
|
||||
if(!factory) return CLASS_E_CLASSNOTAVAILABLE;
|
||||
|
|
|
@ -31,7 +31,6 @@ DEFINE_GUID(CLSID_WINE_FXEQ11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xF
|
|||
DEFINE_GUID(CLSID_WINE_FXEQ12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x02);
|
||||
DEFINE_GUID(CLSID_WINE_FXEQ13, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x03);
|
||||
DEFINE_GUID(CLSID_WINE_FXEQ14, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x04);
|
||||
DEFINE_GUID(CLSID_WINE_FXEQ15, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x05);
|
||||
|
||||
/* xapofx 1.0 through 1.5 */
|
||||
DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01);
|
||||
|
@ -43,7 +42,6 @@ DEFINE_GUID(CLSID_WINE_FXMasteringLimiter11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0
|
|||
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x02);
|
||||
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter13, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x03);
|
||||
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter14, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x04);
|
||||
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter15, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x05);
|
||||
|
||||
/* xapofx 1.0 through 1.5 */
|
||||
DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02);
|
||||
|
@ -55,7 +53,6 @@ DEFINE_GUID(CLSID_WINE_FXReverb11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43,
|
|||
DEFINE_GUID(CLSID_WINE_FXReverb12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x02);
|
||||
DEFINE_GUID(CLSID_WINE_FXReverb13, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x03);
|
||||
DEFINE_GUID(CLSID_WINE_FXReverb14, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x04);
|
||||
DEFINE_GUID(CLSID_WINE_FXReverb15, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x05);
|
||||
|
||||
/* xapofx 1.0 through 1.5 */
|
||||
DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03);
|
||||
|
@ -67,6 +64,5 @@ DEFINE_GUID(CLSID_WINE_FXEcho11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0
|
|||
DEFINE_GUID(CLSID_WINE_FXEcho12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x02);
|
||||
DEFINE_GUID(CLSID_WINE_FXEcho13, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x03);
|
||||
DEFINE_GUID(CLSID_WINE_FXEcho14, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x04);
|
||||
DEFINE_GUID(CLSID_WINE_FXEcho15, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x05);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue