From a6710afc26f599c5e3e592e452032f1d3a0ab4c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Bernon?= Date: Tue, 19 Sep 2023 09:10:48 +0200 Subject: [PATCH] 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; -- 2.11.4.GIT