Commit graph

161 commits

Author SHA1 Message Date
Rémi Bernon 223ba990b1 dmsynth: Implement IDirectMusicSynth_Download for instrument articulations. 2023-09-08 22:00:25 +02:00
Rémi Bernon 4fa0978394 dmsynth: Implement IDirectMusicSynth_Download for instrument regions. 2023-09-08 22:00:25 +02:00
Rémi Bernon 22f85dd9b8 dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves. 2023-09-08 22:00:25 +02:00
Rémi Bernon 56fc711a93 dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments. 2023-09-08 22:00:25 +02:00
Rémi Bernon 971d707273 dmsynth/tests: Test IDirectMusicSynth_Unload. 2023-09-08 22:00:25 +02:00
Rémi Bernon 54ed994ab1 dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate. 2023-09-06 22:29:27 +02:00
Rémi Bernon f6deca5932 dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op. 2023-09-06 22:29:27 +02:00
Rémi Bernon 722262b023 dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink. 2023-09-06 22:29:27 +02:00
Rémi Bernon 2a1b03ccc3 dmsynth: Implement latency IReferenceClock interface on the sink. 2023-09-06 22:29:27 +02:00
Rémi Bernon 23b61b0dc8 include: Use IReferenceClock interface from strmif.idl in dmusicc.h. 2023-09-06 22:29:26 +02:00
Rémi Bernon ec2a7a3251 dmsynth: Move constructor parameter checks to class factory. 2023-09-06 22:29:26 +02:00
Francois Gouget a6d6f914b3 dmsynth/tests: Add the trailing linefeed to a win_skip() message.
The missing linefeed was causing the test summary line to be garbled.
2023-09-06 12:05:49 +02:00
Rémi Bernon 3610b54bd6 dmsynth: Implement SampleToRefTime and RefTimeToSample. 2023-09-05 23:18:00 +02:00
Rémi Bernon 10da838a78 dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub. 2023-09-05 23:18:00 +02:00
Rémi Bernon 1b3cc0ce49 dmsynth: Allow changing master clock while active. 2023-09-05 23:18:00 +02:00
Rémi Bernon 48536877fe dmsynth: Avoid leaking master clock references. 2023-09-05 23:18:00 +02:00
Rémi Bernon be2cdd3cb2 dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub. 2023-09-05 23:18:00 +02:00
Rémi Bernon ce40b4d8fc dmsynth/tests: Test DirectMusicSynth class in isolation.
And more specifically how generating samples with Render works.
2023-09-04 21:13:30 +02:00
Rémi Bernon a2dac48f6c dmsynth/tests: Test DirectMusicSynthSink class in isolation. 2023-09-04 21:13:29 +02:00
Rémi Bernon e477e3e30d dmsynth/tests: Import and use a check_interface helper. 2023-09-04 21:13:29 +02:00
Rémi Bernon 40dcb5954b dmsynth/tests: Avoid dynamic format string. 2023-09-04 21:13:29 +02:00
Rémi Bernon 6dedfec9c3 dmsynth: Use CRT allocation functions. 2023-09-04 11:38:41 +02:00
Rémi Bernon 5e29d14789 dmsynth: Get rid of the IDirectMusicSynth8Impl typedef. 2023-09-04 11:38:41 +02:00
Rémi Bernon 011dd289e6 dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth. 2023-09-04 11:38:41 +02:00
Rémi Bernon 68b356142c dmsynth: Move IDirectMusicSynthImpl struct to where it is used. 2023-09-04 11:38:41 +02:00
Rémi Bernon 1f990e59c0 dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef. 2023-09-04 11:38:41 +02:00
Rémi Bernon 1f7629dc0a dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink. 2023-09-04 11:38:41 +02:00
Rémi Bernon da256c4426 dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used. 2023-09-04 11:38:41 +02:00
Rémi Bernon 3b5160c975 dmsynth: Always return S_FALSE from DllCanUnloadNow. 2023-09-04 11:38:41 +02:00
Rémi Bernon 23b8988464 dmsynth: Remove unnecessary comments. 2023-09-04 11:38:41 +02:00
Alexandre Julliard 6fe186468c dmsynth/tests: Use nameless unions/structs. 2023-07-19 12:20:19 +02:00
Alexandre Julliard 2bf29480c5 dmsynth: Use nameless unions/structs. 2023-07-12 19:01:13 +02:00
Alistair Leslie-Hughes b1a69eab12 dmsynth: Remove DECLSPEC_HIDDEN usage. 2023-06-29 21:34:48 +02:00
Michael Stefaniuc 48fdc8e08c dmsynth: Don't crash when Open() gets a DMUS_PORTPARAMS7.
Wrong sizeof check: pointer instead of referenced structure.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53704
2023-03-30 20:31:46 +02:00
Alex Henrie 0b004131e2 dmsynth: Don't force a calling convention on internal functions. 2022-11-24 22:20:21 +01:00
Michael Stefaniuc ec69d69f2a dmsynth: Implement the sink GetDesiredBufferSize method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:22 +01:00
Michael Stefaniuc a0addfe38d dmsynth/tests: Add synth GetFormat tests.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:22 +01:00
Michael Stefaniuc 5715d2b5b2 dmsynth: Implement the synth GetFormat method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-22 18:20:22 +01:00
Michael Stefaniuc 38f125a5b5 dmsynth/tests: Add some synth Open/Close tests.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 10:47:19 +01:00
Michael Stefaniuc 1383b841c5 dmsynth: Implement the synth's Open and Close methods.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 10:47:15 +01:00
Michael Stefaniuc 26a9ce8008 dmsynth: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 22:44:49 +01:00
Michael Stefaniuc fe1aebb600 dmsynth/tests: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 17:24:09 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Michael Stefaniuc e835e143f0 dmsynth: Add error handling to the synth GetPortCaps method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:55 +01:00
Michael Stefaniuc 83064d1500 dmsynth: Implement the sink Init method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-25 09:28:29 +01:00
Michael Stefaniuc bdea89242c dmsynth: Implement SetMasterClock() for the sink.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 18:47:13 +01:00
Michael Stefaniuc 98e6e2429f dmsynth: Pass the master clock on to the sink.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 21:55:21 +01:00
Michael Stefaniuc 6c73c3166b dmsynth: Disconnect old sink, addref and init new sink.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 20:38:05 +01:00
Michael Stefaniuc 00eaccda84 dmsynth: Avoid hungarian notation in the synth object.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 20:38:02 +01:00
Michael Stefaniuc 5d687a23e4 dmsynth: Activate the sink from the synth Activate() method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 20:37:57 +01:00