Commit 80de4ba6 authored by Andrew Eikum's avatar Andrew Eikum Committed by Alexandre Julliard

xapofx1_2: Use shared source.

parent 1559b715
......@@ -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_2=${enable_xapofx1_2:-no}
enable_xapofx1_3=${enable_xapofx1_3:-no}
enable_xapofx1_4=${enable_xapofx1_4:-no}
enable_xapofx1_5=${enable_xapofx1_5:-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_2=${enable_xapofx1_2:-no}
enable_xapofx1_3=${enable_xapofx1_3:-no}
enable_xapofx1_4=${enable_xapofx1_4:-no}
enable_xapofx1_5=${enable_xapofx1_5:-no}
......
EXTRADEFS = -DXAPOFX1_VER=2 -DXAUDIO2_VER=3
MODULE = xapofx1_2.dll
IMPORTS = ole32
PARENTSRC = ../xaudio2_7
C_SRCS = \
main.c
xapofx.c
/*
* Copyright 2015 Andrew Eikum for CodeWeavers
*
* 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(xapofx);
/*****************************************************
* DllMain
*/
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
{
TRACE("(%p, %d, %p)\n", hinst, reason, reserved);
switch(reason)
{
case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinst);
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_FXReverb12;
else if(IsEqualGUID(clsid, &CLSID_FXEQ27) ||
IsEqualGUID(clsid, &CLSID_FXEQ))
class = &CLSID_WINE_FXEQ12;
return CoCreateInstance(class, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)out);
}
......@@ -57,25 +57,11 @@ coclass XACT31 { interface IUnknown; }
coclass FXReverb11 { interface IXAPO; }
[
helpstring("XAPOFX1.2 FXReverb Class (Wine)"),
threading(both),
uuid(a90bc001-e897-e897-7439-43FF02000102)
]
coclass FXReverb12 { interface IXAPO; }
[
helpstring("XAPOFX1.1 FXEQ Class (Wine)"),
threading(both),
uuid(a90bc001-e897-e897-7439-43FF00000101)
]
coclass FXEQ11 { interface IXAPO; }
[
helpstring("XAPOFX1.2 FXEQ Class (Wine)"),
threading(both),
uuid(a90bc001-e897-e897-7439-43FF00000102)
]
coclass FXEQ12 { interface IXAPO; }
#endif /* XAUDIO2_VER == 7 */
#if XAUDIO2_VER == 6
......
......@@ -2053,8 +2053,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb11)){
factory = make_xapo_factory(&CLSID_AudioReverb27, 22);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb23) ||
IsEqualGUID(rclsid, &CLSID_WINE_FXReverb12)){
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb23)){
factory = make_xapo_factory(&CLSID_AudioReverb27, 23);
}else if(IsEqualGUID(rclsid, &CLSID_AudioReverb24)){
......@@ -2073,8 +2072,6 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
factory = make_xapo_factory(&CLSID_FXEQ, 21);
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ11)){
factory = make_xapo_factory(&CLSID_FXEQ, 22);
}else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ12)){
factory = make_xapo_factory(&CLSID_FXEQ, 23);
}
if(!factory) return CLASS_E_CLASSNOTAVAILABLE;
......
......@@ -28,7 +28,6 @@ DEFINE_GUID(CLSID_FXEQ, 0xf5e01117, 0xd6c4, 0x485a, 0xa3, 0xf5, 0x69, 0x51, 0x96
/* wine internal */
DEFINE_GUID(CLSID_WINE_FXEQ10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x00);
DEFINE_GUID(CLSID_WINE_FXEQ11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x01);
DEFINE_GUID(CLSID_WINE_FXEQ12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x02);
/* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01);
......@@ -37,7 +36,6 @@ DEFINE_GUID(CLSID_FXMasteringLimiter, 0xc4137916, 0x2be1, 0x46fd, 0x85, 0x99, 0x
/* wine internal */
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x00);
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x01);
DEFINE_GUID(CLSID_WINE_FXMasteringLimiter12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x02);
/* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02);
......@@ -46,7 +44,6 @@ DEFINE_GUID(CLSID_FXReverb, 0x7d9aca56, 0xcb68, 0x4807, 0xb6, 0x32, 0xb1, 0x37,
/* wine internal */
DEFINE_GUID(CLSID_WINE_FXReverb10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x00);
DEFINE_GUID(CLSID_WINE_FXReverb11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x01);
DEFINE_GUID(CLSID_WINE_FXReverb12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x02);
/* xapofx 1.0 through 1.5 */
DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03);
......@@ -55,6 +52,5 @@ DEFINE_GUID(CLSID_FXEcho, 0x5039d740, 0xf736, 0x449a, 0x84, 0xd3, 0xa5, 0x62, 0x
/* wine internal */
DEFINE_GUID(CLSID_WINE_FXEcho10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x00);
DEFINE_GUID(CLSID_WINE_FXEcho11, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x01);
DEFINE_GUID(CLSID_WINE_FXEcho12, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x02);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment