xaudio2_6: Use shared source.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Andrew Eikum 2016-01-11 13:53:01 -06:00 committed by Alexandre Julliard
parent 5f15d5b37c
commit 4a361b0489
7 changed files with 32 additions and 98 deletions

1
configure vendored
View File

@ -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_xaudio2_6=${enable_xaudio2_6:-no}
enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_7=${enable_xaudio2_7:-no}
enable_xaudio2_8=${enable_xaudio2_8:-no} enable_xaudio2_8=${enable_xaudio2_8:-no}
fi fi

View File

@ -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_xaudio2_6=${enable_xaudio2_6:-no}
enable_xaudio2_7=${enable_xaudio2_7:-no} enable_xaudio2_7=${enable_xaudio2_7:-no}
enable_xaudio2_8=${enable_xaudio2_8:-no} enable_xaudio2_8=${enable_xaudio2_8:-no}
fi fi

View File

@ -1,7 +1,12 @@
EXTRADEFS = -DXAUDIO2_VER=6
MODULE = xaudio2_6.dll MODULE = xaudio2_6.dll
IMPORTS = ole32 IMPORTS = advapi32 kernel32 ole32 user32 uuid
EXTRALIBS = $(OPENAL_LIBS)
PARENTSRC = ../xaudio2_7
C_SRCS = \ C_SRCS = \
compat.c \
xapofx.c \
xaudio_dll.c xaudio_dll.c
IDL_SRCS = xaudio_classes.idl IDL_SRCS = xaudio_classes.idl

View File

@ -1,4 +1,4 @@
@ stdcall -private DllCanUnloadNow() @ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr) xaudio2_7.DllGetClassObject @ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stdcall -private DllRegisterServer() @ stdcall -private DllRegisterServer()
@ stdcall -private DllUnregisterServer() @ stdcall -private DllUnregisterServer()

View File

@ -1,42 +0,0 @@
/*
* COM Classes for xaudio
*
* 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
*/
#pragma makedep register
[
helpstring("XAudio2.6 Class"),
threading(both),
uuid(3eda9b49-2085-498b-9bb2-39a6778493de)
]
coclass XAudio26 { interface IXAudio27; }
[
helpstring("XAudio2.6 AudioReverb Class"),
threading(both),
uuid(cecec95a-d894-491a-bee3-5e106fb59f2d)
]
coclass AudioReverb26 { interface IXAPO; }
[
helpstring("XAudio2.6 AudioVolumeMeter Class"),
threading(both),
uuid(e48c5a3f-93ef-43bb-a092-2c7ceb946f27)
]
coclass AudioVolumeMeter26 { interface IXAPO; }

View File

@ -1,54 +0,0 @@
/*
* Copyright (c) 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 <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "rpcproxy.h"
static HINSTANCE instance;
BOOL WINAPI DllMain(HINSTANCE hinstance, DWORD reason, LPVOID reserved)
{
switch (reason)
{
case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
instance = hinstance;
DisableThreadLibraryCalls(hinstance);
break;
}
return TRUE;
}
HRESULT WINAPI DllCanUnloadNow(void)
{
return S_FALSE;
}
HRESULT WINAPI DllRegisterServer(void)
{
return __wine_register_resources(instance);
}
HRESULT WINAPI DllUnregisterServer(void)
{
return __wine_unregister_resources(instance);
}

View File

@ -119,3 +119,26 @@ coclass FXEQ14 { interface IXAPO; }
] ]
coclass FXEQ15 { interface IXAPO; } coclass FXEQ15 { interface IXAPO; }
#endif /* XAUDIO2_VER == 7 */ #endif /* XAUDIO2_VER == 7 */
#if XAUDIO2_VER == 6
[
helpstring("XAudio2.6 Class"),
threading(both),
uuid(3eda9b49-2085-498b-9bb2-39a6778493de)
]
coclass XAudio26 { interface IXAudio27; }
[
helpstring("XAudio2.6 AudioReverb Class"),
threading(both),
uuid(cecec95a-d894-491a-bee3-5e106fb59f2d)
]
coclass AudioReverb26 { interface IXAPO; }
[
helpstring("XAudio2.6 AudioVolumeMeter Class"),
threading(both),
uuid(e48c5a3f-93ef-43bb-a092-2c7ceb946f27)
]
coclass AudioVolumeMeter26 { interface IXAPO; }
#endif /* XAUDIO2_VER == 6 */