April 8, 2026
7:06 a.m.
On Wed Apr 8 12:06:41 2026 +0000, Steven Don wrote:
That is correct. The corresponding `snd_rawmidi_drain()` in the Rawmidi API would work, but Wine does not use the Rawmidi API, but the Sequencer API. When using the sequencer, `snd_seq_ev_set_direct()` marks the SysEx data for immediate out of band delivery (which is indeed preferable for SysEx data) bypassing the output queue, but that also means `snd_seq_drain_output()` and `snd_seq_sync_output_queue()` are ineffective. For what it's worth, I also tried disabling the set-direct call and adding the drain and sync calls, but there was no observable change in behaviour. Thanks for the explanation, I understand now.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10581#note_135482