Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
eb6709da
Commit
eb6709da
authored
Jul 27, 2020
by
Zebediah Figura
Committed by
Alexandre Julliard
Jul 28, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dsdmo: Add a stub I3DL2 reverb effect.
Signed-off-by:
Zebediah Figura
<
z.figura12@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
84d85ade
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
0 deletions
+51
-0
dsdmo.idl
dlls/dsdmo/dsdmo.idl
+8
-0
main.c
dlls/dsdmo/main.c
+43
-0
No files found.
dlls/dsdmo/dsdmo.idl
View file @
eb6709da
...
...
@@ -20,6 +20,14 @@
[
threading
(
both
),
progid
(
"Microsoft.DirectSoundI3DL2ReverbDMO.1"
),
vi_progid
(
"Microsoft.DirectSoundI3DL2ReverbDMO"
),
uuid
(
ef985e71
-
d5c7
-
42
d4
-
ba4d
-
2
d073e2e96f4
)
]
coclass
DirectSoundI3DL2ReverbDMO
{}
[
threading
(
both
),
progid
(
"Microsoft.DirectSoundWavesReverbDMO.1"
),
vi_progid
(
"Microsoft.DirectSoundWavesReverbDMO"
),
uuid
(
87
fc0268
-
9
a55
-
4360
-
95
aa
-
004
a1d9de26c
)
...
...
dlls/dsdmo/main.c
View file @
eb6709da
...
...
@@ -434,6 +434,48 @@ static void effect_init(struct effect *effect, IUnknown *outer, const struct eff
effect
->
ops
=
ops
;
}
struct
reverb
{
struct
effect
effect
;
};
static
struct
reverb
*
impl_reverb_from_effect
(
struct
effect
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
reverb
,
effect
);
}
static
void
*
reverb_query_interface
(
struct
effect
*
iface
,
REFIID
iid
)
{
return
NULL
;
}
static
void
reverb_destroy
(
struct
effect
*
iface
)
{
struct
reverb
*
effect
=
impl_reverb_from_effect
(
iface
);
free
(
effect
);
}
static
const
struct
effect_ops
reverb_ops
=
{
.
destroy
=
reverb_destroy
,
.
query_interface
=
reverb_query_interface
,
};
static
HRESULT
reverb_create
(
IUnknown
*
outer
,
IUnknown
**
out
)
{
struct
reverb
*
object
;
if
(
!
(
object
=
calloc
(
1
,
sizeof
(
*
object
))))
return
E_OUTOFMEMORY
;
effect_init
(
&
object
->
effect
,
outer
,
&
reverb_ops
);
TRACE
(
"Created I3DL2 reverb effect %p.
\n
"
,
object
);
*
out
=
&
object
->
effect
.
IUnknown_inner
;
return
S_OK
;
}
struct
waves_reverb
{
struct
effect
effect
;
...
...
@@ -628,6 +670,7 @@ static struct
}
class_factories
[]
=
{
{
&
GUID_DSFX_STANDARD_I3DL2REVERB
,
{{
&
class_factory_vtbl
},
reverb_create
}},
{
&
GUID_DSFX_WAVES_REVERB
,
{{
&
class_factory_vtbl
},
waves_reverb_create
}},
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment