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
|
if test "x$ac_cv_have_openalsoft" != xyes
|
||||||
then
|
then
|
||||||
as_fn_append wine_notices "|openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported"
|
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_0=${enable_xaudio2_0:-no}
|
||||||
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
||||||
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
||||||
|
|
|
@ -1662,6 +1662,7 @@ fi
|
||||||
if test "x$ac_cv_have_openalsoft" != xyes
|
if test "x$ac_cv_have_openalsoft" != xyes
|
||||||
then
|
then
|
||||||
WINE_NOTICE([openal-soft ${notice_platform}development files not found (or too old), XAudio2 won't be supported])
|
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_0=${enable_xaudio2_0:-no}
|
||||||
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
enable_xaudio2_1=${enable_xaudio2_1:-no}
|
||||||
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
enable_xaudio2_2=${enable_xaudio2_2:-no}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
EXTRADEFS = -DXAPOFX1_VER=5 -DXAUDIO2_VER=7
|
||||||
MODULE = xapofx1_5.dll
|
MODULE = xapofx1_5.dll
|
||||||
IMPORTS = ole32
|
IMPORTS = ole32
|
||||||
|
PARENTSRC = ../xaudio2_7
|
||||||
|
|
||||||
C_SRCS = \
|
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 NONAMELESSUNION
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
|
||||||
|
#include "initguid.h"
|
||||||
#include "xaudio_private.h"
|
#include "xaudio_private.h"
|
||||||
#include "xapofx.h"
|
#include "xapofx.h"
|
||||||
|
|
||||||
|
@ -30,6 +31,23 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(xaudio2);
|
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 {
|
typedef struct _VUMeterImpl {
|
||||||
IXAPO IXAPO_iface;
|
IXAPO IXAPO_iface;
|
||||||
IXAPOParameters IXAPOParameters_iface;
|
IXAPOParameters IXAPOParameters_iface;
|
||||||
|
@ -860,3 +878,43 @@ HRESULT CDECL CreateFX(REFCLSID clsid, IUnknown **out, void *initdata, UINT32 in
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
#endif /* XAUDIO2_VER >= 8 */
|
#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; }
|
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)"),
|
helpstring("XAPOFX1.1 FXEQ Class (Wine)"),
|
||||||
threading(both),
|
threading(both),
|
||||||
|
@ -111,13 +104,6 @@ coclass FXEQ13 { interface IXAPO; }
|
||||||
uuid(a90bc001-e897-e897-7439-43FF00000104)
|
uuid(a90bc001-e897-e897-7439-43FF00000104)
|
||||||
]
|
]
|
||||||
coclass FXEQ14 { interface IXAPO; }
|
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 */
|
#endif /* XAUDIO2_VER == 7 */
|
||||||
|
|
||||||
#if XAUDIO2_VER == 6
|
#if XAUDIO2_VER == 6
|
||||||
|
|
|
@ -22,8 +22,6 @@
|
||||||
#define NONAMELESSUNION
|
#define NONAMELESSUNION
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
|
||||||
#include "initguid.h"
|
|
||||||
|
|
||||||
#include "xaudio_private.h"
|
#include "xaudio_private.h"
|
||||||
|
|
||||||
#include "ole2.h"
|
#include "ole2.h"
|
||||||
|
@ -2070,8 +2068,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
|
||||||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){
|
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){
|
||||||
factory = make_xapo_factory(&CLSID_AudioReverb27, 26);
|
factory = make_xapo_factory(&CLSID_AudioReverb27, 26);
|
||||||
|
|
||||||
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27) ||
|
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27)){
|
||||||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb15)){
|
|
||||||
factory = make_xapo_factory(&CLSID_AudioReverb27, 27);
|
factory = make_xapo_factory(&CLSID_AudioReverb27, 27);
|
||||||
|
|
||||||
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ10)){
|
}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);
|
factory = make_xapo_factory(&CLSID_FXEQ, 24);
|
||||||
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ14)){
|
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ14)){
|
||||||
factory = make_xapo_factory(&CLSID_FXEQ, 26);
|
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;
|
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_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_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_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 */
|
/* xapofx 1.0 through 1.5 */
|
||||||
DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01);
|
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_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_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_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 */
|
/* xapofx 1.0 through 1.5 */
|
||||||
DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02);
|
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_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_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_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 */
|
/* xapofx 1.0 through 1.5 */
|
||||||
DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03);
|
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_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_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_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
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue