Psychlist1972 / Windows-10-MIDI-Library

Library for C# and other apps to use Windows 10 Anniversary Update native MIDI (USB, bluetooth, etc.)
MIT License
30 stars 5 forks source link

App Locks when sending SysEx to any of the Roland gear I have. #1

Open Noemata opened 7 years ago

Noemata commented 7 years ago

Using the following code:

                var data = new byte[] { 0xF0, 0x7E, 0x7F, 0x06, 0x01, 0xF7 };

                midiOutputDevice.SendMessage(new MidiSystemExclusiveMessage(data.AsBuffer()));

This code causes the Win10 Store App to lock up and hang the MIDI stack when executed against any of the Roland gear I have (the entire Roland Boutique line, the entire Roland Aira line, and the Roland A-49 keyboard controller, etc.).

The same request works as expected from a Win 10 Win32 application with the same set of Roland gear.

The same code works as expected for both Win 10 Store and Win32 Apps when using non-Roland gear, such as the Novation Launchpad. You can try this with the MIDI sample. I'm guessing the code hangs with any Roland gear that has a native Windows 10 driver.

There appears to be something wrong under the hood with Roland gear and the Win10 Store MIDI API. I've noticed that for all the Roland gear I have (entire Boutique line and Aira line), a driver is pushed onto the system when the USB device is plugged in.

This problem has completely stalled my ability to release a Windows Store App that is a patch editor / control surface for the above Roland products.

Noemata commented 7 years ago

Since posting the above issue I have discovered that the problem occurs with Yamaha, Korg, or any other vendor product which has a device name that supports both input and output and does not end with the [0]/[1] suffix to separate the input and out by name. Only the WinRT MIDI API exhibits the SysEx transmission problem.