[PATCH 2/3] xaudio2: Register legacy AudioReverb CLSIDs

Andrew Eikum aeikum at codeweavers.com
Tue Oct 6 13:01:28 CDT 2015


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
 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 de85c0b..7f2f93b 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 6ff0a00..42ae148 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 c95fac0..7c1fabc 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 26af295..6723bce 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 78d7c1e..13fceab 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 e54eed7..addbca0 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 68fe955..a0e2c60 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 a83b2f6..3014eb1 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;
+}
-- 
2.6.0





More information about the wine-patches mailing list