Module: wine Branch: master Commit: a6710afc26f599c5e3e592e452032f1d3a0ab4c8 URL: https://gitlab.winehq.org/wine/wine/-/commit/a6710afc26f599c5e3e592e452032f1...
Author: Rémi Bernon rbernon@codeweavers.com Date: Tue Sep 19 09:10:48 2023 +0200
dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
---
dlls/dmime/performance.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/dlls/dmime/performance.c b/dlls/dmime/performance.c index b12a8315330..63429023da2 100644 --- a/dlls/dmime/performance.c +++ b/dlls/dmime/performance.c @@ -1715,6 +1715,25 @@ static HRESULT WINAPI performance_tool_ProcessPMsg(IDirectMusicTool *iface, break; }
+ case DMUS_PMSGT_PATCH: + { + DMUS_PATCH_PMSG *patch = (DMUS_PATCH_PMSG *)msg; + + if (FAILED(hr = performance_send_midi_pmsg(This, msg, DMUS_PMSGF_REFTIME | DMUS_PMSGF_MUSICTIME | DMUS_PMSGF_TOOL_IMMEDIATE, + 0xb0 /* Control Change */, 0x00 /* CC: Bank MSB */, patch->byMSB))) + WARN("Failed to translate message to MIDI, hr %#lx\n", hr); + + if (FAILED(hr = performance_send_midi_pmsg(This, msg, DMUS_PMSGF_REFTIME | DMUS_PMSGF_MUSICTIME | DMUS_PMSGF_TOOL_IMMEDIATE, + 0xb0 /* Control Change */, 0x20 /* CC: Bank LSB */, patch->byLSB))) + WARN("Failed to translate message to MIDI, hr %#lx\n", hr); + + if (FAILED(hr = performance_send_midi_pmsg(This, msg, DMUS_PMSGF_REFTIME | DMUS_PMSGF_MUSICTIME | DMUS_PMSGF_TOOL_IMMEDIATE, + 0xc0 /* Program Change */, patch->byInstrument, 0))) + WARN("Failed to translate message to MIDI, hr %#lx\n", hr); + + break; + } + case DMUS_PMSGT_NOTIFICATION: { DMUS_NOTIFICATION_PMSG *notif = (DMUS_NOTIFICATION_PMSG *)msg;