I am building an app that uses the WebMidi API to send and receive messages from a MIDI device that is connected via USB. Currently the app works perfectly on MacOS, but not on Windows machines. The device is successfully identified/detected and permissions are granted, however – when I attempt to send a Sysex message to the device on a Windows machine, the screen just flickers. The midi message appears to be sending, and the device is receiving data, but the settings that should be affected as part of the message are not changing…just screen flicker each time I send over data.
Has anyone else experienced a similar issue? The exact same code works fine on a Mac, i.e: adjusting the brightness with a range slider in the app results in the brightness changing on the device display. What are some of the differences that should be noted between using the WebMidi API on Windows vs Mac?
I’ve tried explicitly allowing the user to select an input device and output device from a dropdown. This is what leads me to believe that there is an issue sending the midi data, and not an issue with the connection. The device was correctly identified and displayed as “connected” in both of these cases. One other thing to note is that the app does send simple PC messages successfully to the device. Sysex messages appear to be the problem despite allowing Sysex to be communicated as part of granting permissions.
Vik Williamson is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.