Module: wine Branch: master Commit: 8a4989f3a63827a56ac03f34c31762e3689f9ddf URL: https://gitlab.winehq.org/wine/wine/-/commit/8a4989f3a63827a56ac03f34c31762e...
Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Oct 16 19:07:48 2023 +0200
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
---
dlls/dmime/performance.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index f120cc6f0a9..815e8295ed8 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -1714,6 +1714,27 @@ static HRESULT WINAPI performance_tool_ProcessPMsg(IDirectMusicTool *iface, break; }
+ case DMUS_PMSGT_CURVE: + { + DMUS_CURVE_PMSG *curve = (DMUS_CURVE_PMSG *)msg; + + msg->mtTime += curve->nOffset; + switch (curve->dwType) + { + case DMUS_CURVET_CCCURVE: + if (FAILED(hr = performance_send_midi_pmsg(This, msg, DMUS_PMSGF_MUSICTIME | DMUS_PMSGF_TOOL_IMMEDIATE, + MIDI_CONTROL_CHANGE, curve->bCCData, curve->nStartValue))) + WARN("Failed to translate message to MIDI, hr %#lx\n", hr); + break; + case DMUS_CURVET_RPNCURVE: + case DMUS_CURVET_NRPNCURVE: + FIXME("Unhandled curve type %#lx\n", curve->dwType); + break; + } + + break; + } + case DMUS_PMSGT_PATCH: { DMUS_PATCH_PMSG *patch = (DMUS_PATCH_PMSG *)msg;