Commit Graph

258 Commits

Author SHA1 Message Date
Michael Stefaniuc 40a4a5c7bf dmusic: Fail in CreatePort() if SetDirectSound() wasn't called.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 18:01:54 +02:00
Michael Stefaniuc 62bf20783c dmusic: Remove the port from the ports list on the port destruction.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-12 18:01:49 +02:00
Michael Stefaniuc 3b4909fd94 dmusic: Set the dsound pointer to NULL on an error path.
Spotted by Sebastian Lackner.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 10:17:50 -05:00
Józef Kucia 829ef41481 dmusic: Fix compilation on systems that don't support nameless structs or unions.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-11 09:30:22 -05:00
Michael Stefaniuc 43b3f844ba dmusic: Add dsound handling to the synth port Activate() method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:16:13 -05:00
Michael Stefaniuc f968edb988 dmusic: Partially implement the synth IDirectMusicPort::SetDirectSound().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:16:10 -05:00
Michael Stefaniuc e8873b75af dmusic: Pass only the needed stuff to the DMPort create functions.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:16:06 -05:00
Michael Stefaniuc 36a88d2841 dmusic: Implement IDirectMusic8::SetDirectSound().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:16:00 -05:00
Michael Stefaniuc b75e8bc6bd dmusic: Use more sensible and consistent field names for IDirectMusic8Impl.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:15:50 -05:00
Michael Stefaniuc 251d1c0b86 dmusic/tests: Expand the dsound refcount testing with the port.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:15:45 -05:00
Michael Stefaniuc cf943820eb dmusic/tests: Add some IDirectMusic_SetDirectSound() tests.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-05 10:13:22 +02:00
Michael Stefaniuc 950b8a9699 dmusic: Avoid an intermediate copy in PackStructured().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-02 11:18:33 +02:00
Michael Stefaniuc 7cd7f14696 dmusic: Implement IDirectMusicBuffer::PackUnstructured().
Based on a patch by Michael Müller <michael@fds-team.de>.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:16 +02:00
Michael Stefaniuc 4fbae8eab4 dmusic: Use DMUS_EVENT_SIZE() to calculate the size of the message.
Suggested by Michael Müller.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 19:29:15 +02:00
Nikolay Sivov f0fb2f16ca dmusic/tests: Use void* instead of void** type value for outer argument.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 20:30:30 +02:00
Michael Stefaniuc 883fe110ea dmusic: Support the IKsControl interface for the synth port.
Based on a patch by Michael Müller.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-05 11:43:21 +02:00
Michael Stefaniuc 845bf2ff59 dmusic: Move the SynthPortImpl struct to where it is used.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-05 11:43:20 +02:00
Michael Stefaniuc ca87c49390 dmusic: Simplify the IDirectMusicPort_QueryInterface implementation.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-05 11:43:17 +02:00
Michael Stefaniuc 1dc5cc3470 dmusic/tests: Add basic COM tests for IDirectMusicPort.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-05 11:43:14 +02:00
Michael Stefaniuc dd8d5f3820 dmusic: Avoid using the COM method implementations directly.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:46 +09:00
Michael Stefaniuc 253bffafba dmusic: Use debugstr_guid to trace some GUIDs.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 20:33:18 +09:00
Michael Stefaniuc abb0a22d31 dmusic: Remove old and ugly COM macros. 2015-06-29 19:07:55 +09:00
Michael Stefaniuc 8c6c7f6b49 dmloader: Add and use a generic IPersistStream_GetClassID. 2015-04-28 15:35:23 +09:00
Michael Stefaniuc f897757865 dmusic/tests: Remove an unused assigment (PVS-Studio). 2015-01-15 14:06:00 +01:00
Michael Stefaniuc 3d77974f76 dmusic: Remove duplicated interface ID checks (PVS-Studio). 2014-10-29 20:31:06 +09:00
Frédéric Delanoy 2ab8729020 Assorted spelling/grammar fixes. 2014-06-20 12:19:31 +02:00
Michael Stefaniuc 5e1783b59a dmusic: Increment the refcount when a IReferenceClock pointer is returned. 2014-06-17 09:04:24 +02:00
Michael Stefaniuc d33989f675 dmusic: Remove the redundant "IDirectMusicCollection" from method names. 2014-06-13 15:59:48 +02:00
Michael Stefaniuc 147f100f3e dmusic: Get rid of the extra pointer to a DMUS_OBJECTDESC. 2014-06-13 15:59:42 +02:00
Michael Stefaniuc 4e81a977c7 dmusic: Use generic "unimplemented" methods for IPersistStream. 2014-06-13 15:59:39 +02:00
Michael Stefaniuc 02ed47fa3c dmusic: Move the common parts of DMObject to a generic implementation. 2014-06-13 15:59:36 +02:00
Michael Stefaniuc 1a7c0a6a70 dmusic: Lock/unlock the module only on creation/destruction of the object. 2014-06-11 16:13:02 +02:00
Michael Stefaniuc d67f35b9dc dmusic: Don't leak memory on DirectMusicInstrument creation failure.
Also lock/unlock the module only on creation/destruction of the object.
2014-06-11 16:12:51 +02:00
Michael Stefaniuc 096bfbd214 dmusic: Simplify the creation of a DirectMusic8 object.
Also lock/unlock the module only on creation/destruction of the object.
2014-06-11 16:12:47 +02:00
Michael Stefaniuc d82e2935e4 dmusic: Release the clock when destroying the IDirectMusic8 object. 2014-06-11 16:12:43 +02:00
Michael Stefaniuc 19eba06a26 dmusic: Don't leak memory on IReferenceClock creation failure.
Also lock/unlock the module only on creation/destruction of the object.
2014-06-11 16:12:36 +02:00
Michael Stefaniuc 57eb95a2ea dmusic: Simplify the creation of a DirectMusicBuffer object.
Also lock/unlock the module only on creation/destruction of the object.
2014-06-11 16:12:32 +02:00
Michael Stefaniuc 3115e49017 dmusic/tests: Test unimplemented IPersistStream methods in DMCollection. 2014-06-11 12:59:10 +02:00
Michael Stefaniuc 5d7e93dc54 dmusic: Return S_FALSE for the unimplemented IPersistStream_IsDirty(). 2014-06-11 12:59:05 +02:00
Michael Stefaniuc 176b7aa842 dmusic: Move a struct to the .c file it is used. 2014-05-16 10:52:27 +02:00
Alexandre Julliard 7d3559bfe9 dxguid: Remove some symbols that aren't exported in native. 2014-04-24 12:41:38 +02:00
Andrey Gusev add85f4687 Assorted typos fixes. 2014-02-12 19:15:32 +01:00
Frédéric Delanoy 5e6f0e93fa dmusic/tests: Use common wine_dbgstr_guid implementation from test.h. 2014-01-28 11:44:56 +01:00
Michael Stefaniuc 2973dbb856 dmusic: Use the defines for the FOURCC codes. 2014-01-27 17:39:47 +01:00
Michael Stefaniuc edddda2374 include: There is no need to duplicate CLSID_DirectMusicAudioPathConfig as CLSID_DirectMusicAudioPath.
CLSID_DirectMusicAudioPath is private to Wine and produces the confusion
between the COM objects DirectMusicAudioPath and
DirectMusicAudioPathConfig. But those are totally different things.
2014-01-10 12:09:12 +01:00
Michael Stefaniuc 84df351b1e dmusic: Don't hardcode the guidClass in IDirectMusicObject::ParseDescriptor. 2014-01-06 17:10:04 +01:00
Michael Stefaniuc dc9208a0c5 dmusic/tests: Add some DirectMusicCollection tests. 2014-01-06 17:10:03 +01:00
Michael Stefaniuc fe0d2a2ba7 dmusic: Don't crash on NULL in IDirectMusicObject::GetDescriptor. 2014-01-06 17:10:02 +01:00
Michael Stefaniuc fda99c0fcc dmusic: The object class is immutable in a DirectMusicObject. 2014-01-06 17:10:01 +01:00
Michael Stefaniuc 5771ff8912 dmusic: Don't leak mem if DirectMusicCollection creation fails. 2014-01-06 17:08:52 +01:00