From e9459b047a2948011986c74b27a3e1f509e8a4e2 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Tue, 6 Oct 2015 13:01:28 -0500 Subject: [PATCH] xaudio2: Register legacy AudioReverb CLSIDs. Signed-off-by: Andrew Eikum --- dlls/xaudio2_1/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_2/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_3/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_4/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_5/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_6/xaudio_classes.idl | 7 ++++++ dlls/xaudio2_7/xaudio_dll.c | 8 +++++- include/xaudio2fx.idl | 42 +++++++++++++++++++++++++++++++ 8 files changed, 91 insertions(+), 1 deletion(-) diff --git a/dlls/xaudio2_1/xaudio_classes.idl b/dlls/xaudio2_1/xaudio_classes.idl index de85c0b037f..7f2f93ba48f 100644 --- a/dlls/xaudio2_1/xaudio_classes.idl +++ b/dlls/xaudio2_1/xaudio_classes.idl @@ -26,3 +26,10 @@ uuid(e21a7345-eb21-468e-be50-804db97cf708) ] coclass XAudio21 { interface IXAudio22; } + +[ + helpstring("XAudio2.1 AudioReverb Class"), + threading(both), + uuid(f4769300-b949-4df9-b333-00d33932e9a6) +] +coclass AudioReverb21 { interface IXAPO; } diff --git a/dlls/xaudio2_2/xaudio_classes.idl b/dlls/xaudio2_2/xaudio_classes.idl index 6ff0a0089e2..42ae1487552 100644 --- a/dlls/xaudio2_2/xaudio_classes.idl +++ b/dlls/xaudio2_2/xaudio_classes.idl @@ -26,3 +26,10 @@ uuid(b802058a-464a-42db-bc10-b650d6f2586a) ] coclass XAudio22 { interface IXAudio22; } + +[ + helpstring("XAudio2.2 AudioReverb Class"), + threading(both), + uuid(629cf0de-3ecc-41e7-9926-f7e43eebec51) +] +coclass AudioReverb22 { interface IXAPO; } diff --git a/dlls/xaudio2_3/xaudio_classes.idl b/dlls/xaudio2_3/xaudio_classes.idl index c95fac0ee6d..7c1fabc54f9 100644 --- a/dlls/xaudio2_3/xaudio_classes.idl +++ b/dlls/xaudio2_3/xaudio_classes.idl @@ -26,3 +26,10 @@ uuid(4c5e637a-16c7-4de3-9c46-5ed22181962d) ] coclass XAudio23 { interface IXAudio27; } + +[ + helpstring("XAudio2.3 AudioReverb Class"), + threading(both), + uuid(9cab402c-1d37-44b4-886d-fa4f36170a4c) +] +coclass AudioReverb23 { interface IXAPO; } diff --git a/dlls/xaudio2_4/xaudio_classes.idl b/dlls/xaudio2_4/xaudio_classes.idl index 26af295e6b6..6723bcea241 100644 --- a/dlls/xaudio2_4/xaudio_classes.idl +++ b/dlls/xaudio2_4/xaudio_classes.idl @@ -26,3 +26,10 @@ uuid(03219e78-5bc3-44d1-b92e-f63d89cc6526) ] coclass XAudio24 { interface IXAudio27; } + +[ + helpstring("XAudio2.4 AudioReverb Class"), + threading(both), + uuid(8bb7778b-645b-4475-9a73-1de3170bd3af) +] +coclass AudioReverb24 { interface IXAPO; } diff --git a/dlls/xaudio2_5/xaudio_classes.idl b/dlls/xaudio2_5/xaudio_classes.idl index 78d7c1e96a5..13fceabc1fc 100644 --- a/dlls/xaudio2_5/xaudio_classes.idl +++ b/dlls/xaudio2_5/xaudio_classes.idl @@ -26,3 +26,10 @@ uuid(4c9b6dde-6809-46e6-a278-9b6a97588670) ] coclass XAudio25 { interface IXAudio27; } + +[ + helpstring("XAudio2.5 AudioReverb Class"), + threading(both), + uuid(d06df0d0-8518-441e-822f-5451d5c595b8) +] +coclass AudioReverb25 { interface IXAPO; } diff --git a/dlls/xaudio2_6/xaudio_classes.idl b/dlls/xaudio2_6/xaudio_classes.idl index e54eed78bb7..addbca0318a 100644 --- a/dlls/xaudio2_6/xaudio_classes.idl +++ b/dlls/xaudio2_6/xaudio_classes.idl @@ -26,3 +26,10 @@ 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; } diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c index 68fe955aee0..a0e2c6057b0 100644 --- a/dlls/xaudio2_7/xaudio_dll.c +++ b/dlls/xaudio2_7/xaudio_dll.c @@ -2481,7 +2481,13 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv) factory = make_xaudio2_factory(27); }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter)) { factory = &vumeter_cf; - }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb)) { + }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb) || + IsEqualGUID(rclsid, &CLSID_AudioReverb21) || + IsEqualGUID(rclsid, &CLSID_AudioReverb22) || + IsEqualGUID(rclsid, &CLSID_AudioReverb23) || + IsEqualGUID(rclsid, &CLSID_AudioReverb24) || + IsEqualGUID(rclsid, &CLSID_AudioReverb25) || + IsEqualGUID(rclsid, &CLSID_AudioReverb26)){ factory = &reverb_cf; } if(!factory) return CLASS_E_CLASSNOTAVAILABLE; diff --git a/include/xaudio2fx.idl b/include/xaudio2fx.idl index a83b2f69b19..3014eb1eb8b 100644 --- a/include/xaudio2fx.idl +++ b/include/xaudio2fx.idl @@ -31,3 +31,45 @@ coclass AudioVolumeMeter { coclass AudioReverb { interface IUnknown; } + +[ + uuid(f4769300-b949-4df9-b333-00d33932e9a6) +] +coclass AudioReverb21 { + interface IUnknown; +} + +[ + uuid(629cf0de-3ecc-41e7-9926-f7e43eebec51) +] +coclass AudioReverb22 { + interface IUnknown; +} + +[ + uuid(9cab402c-1d37-44b4-886d-fa4f36170a4c) +] +coclass AudioReverb23 { + interface IUnknown; +} + +[ + uuid(8bb7778b-645b-4475-9a73-1de3170bd3af) +] +coclass AudioReverb24 { + interface IUnknown; +} + +[ + uuid(d06df0d0-8518-441e-822f-5451d5c595b8) +] +coclass AudioReverb25 { + interface IUnknown; +} + +[ + uuid(cecec95a-d894-491a-bee3-5e106fb59f2d) +] +coclass AudioReverb26 { + interface IUnknown; +}