Closed negativeExponent closed 1 month ago
deprecated by this PR https://github.com/libretro/px68k-libretro/pull/177
this can be safely merge as-is. but a more complete fix for midi will be when this PR for winmm_midi.c is checked/verified/merged. https://github.com/libretro/RetroArch/pull/16804 @LibretroAdmin
@negativeExponent Alright, I merged this and also the PR on RetroArch.
This should be enough of a fix. but the winmm midi driver appears to behave differently (maybe incorrectly) to initialize SC-55 and MT-32 properly.
SC-55 for example will have missing pitch/bend effects ans sometimes will hold notes longer than it should. in MT-32 it totally does not set some instruments properly. This issue is only a problem with using windows midi driver using the libretro API. Linux implementation works fine for the most part.
In anycase, short msg write should only be 3 bytes (suppose to be 2 bytes for midi status 0xC0 and 0xD0 but api does not like shorter than 3 writes) so this PR is still valid.