Skip to content

WinRT MIDI stack name handling flaw. WinRT MIDI stack is presently unusable. #3

@Noemata

Description

@Noemata

The WinRT MIDI stack appears to have a serious name handling flaw that manifests a number of issues.

Here are a few examples of enumerated device names:

Oxygen 25 [0]
Oxygen 25 [1]
A-01 [0]
A-01 [1]
Launchpad S [0]
Launchpad S [1]
QUAD-CAPTURE (1)
Boutique (1)

The device names that end in [0] are for output, and the device names that end in [1] are for input.

The device names above that end in (1) are for input and output, yes, that little detail is also problematic.

But it gets worse.  Any device that has a consolidated name for input and output, that is, it does not have a [0]/[1] ending to its name, those ending in (1) above, hang the MIDI stack when any given SysEx message is sent to its output port.  The GUI of the associated App also becomes frozen.

I'm speculating; the lock up is probably due to the fact that the MIDI stack has confused itself as to where to send the output due to this naming inconsistency.  So devices that have a consolidated name for input and output hang the MIDI stack when a SysEx message is sent, and the only method of recovery is to sign out or restart.  Closing the UWP apps process does not clear the problem.  Closing an app should always clear up any such problems and not result in a hung IO stack.

Device names should either always be consolidated, that is, there should never be a [0]/[1] ending to the name, or they should always have the separation.

So at present, the WinRT MIDI stack is unusable because of the lock up when sending SysEx messages to devices that have a consolidated name.

Looks like Microsoft needs to have a better testing regiment here.  If Microsoft chooses not to fix the naming issue, that's fine, we can work around the inconsistency.  But the MIDI driver layer has to work with the naming variations correctly.

This problem needs to be resolved ASAP!!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions