Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Sending MT3 and MT2 messages simultaneously causes message corruption. #473

Open
m-komo opened this issue Dec 19, 2024 · 3 comments
Open
Assignees
Labels
area-transports 🚌 General transports like USB, BLE, Network, etc. bug 🐞 Something isn't working

Comments

@m-komo
Copy link
Collaborator

m-komo commented Dec 19, 2024

Describe the bug
Sending MT3 and MT2 to USB MIDI 1.0 device simultaneously corrupt MIDI messages.

To Reproduce

  1. Set the Roland UM-ONE to class-compliant mode (set the switch to "TAB") and attach it to PC.
  2. Make sure the device is running with the in-box USB MIDI 1.0 driver (USBAUDIO.sys).
  3. Open midi.exe in two windows.
  4. From one, send the attached TestUMP_MT2.txt to UM-ONE.
  5. From the other, send the attached TestUMP_MT3.txt to UM-ONE.
  6. Monitor USB OUT packets with a USB protocol analyzer.

Incorrect conversions of MT3/MT2 messages into USB MIDI 1.0 packets were observed.
As a result, some channel voice messages are lost and some SysEx messages are corrupt.

Expected behavior
No conversion issues.

Screenshots
Image

Installer Name or Version

  • Windows.MIDI.Services.In-Box.Service.-.1.0.1-preview.7.24305.1438-x64.exe

Desktop (please complete the following information):

  • OS: Windows 11 24H2 build 26120.2702 (Insider Dev channel)

Device information, if this is with an external MIDI device:

  • Roland UM-ONE mk2
  • OS in-box USB MIDI 1.0 class driver (USBAUDIO.sys)

Application Information

  • midi.exe
@m-komo m-komo added the bug 🐞 Something isn't working label Dec 19, 2024
@Psychlist1972 Psychlist1972 added the area-transports 🚌 General transports like USB, BLE, Network, etc. label Dec 19, 2024
@Psychlist1972
Copy link
Contributor

Please try this with DP8, released today, and let me know if you still see this behavior.

@Psychlist1972
Copy link
Contributor

Psychlist1972 commented Dec 19, 2024

Actually, re-reading this, I don't think you will see any differences in DP8. We do not have sysex parking/blocking in place for this release. If one app sends notes while another sends sysex, they all end up in the output.

I will look more closely at what exactly happens with the data, but sysex collisions are an error condition right now, just as they are with most? all? vendor multiclient USB MIDI 1.0 drivers available today.

Related issue #60

@m-komo
Copy link
Collaborator Author

m-komo commented Dec 24, 2024

I verified messages sent to the driver from the/ MIDI stack, there were no mixed data bytes. Channel voice messages were simply inserted in the middle of a SysEx message.
Since the issue is not caused by the new MIDI stack, the situation is the same today.
I will try #60, when it becomes available.

@Psychlist1972, please kindly close this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-transports 🚌 General transports like USB, BLE, Network, etc. bug 🐞 Something isn't working
Projects
Status: No status
Development

No branches or pull requests

2 participants