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

[Feature] Consider optional MIDI 1.0 data speed throttling service plugin #258

Open
Psychlist1972 opened this issue Feb 6, 2024 · 1 comment
Assignees
Labels
area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. feature request 💡 New feature request or proposal needs-investigation 🔍 Needs to be investigated before considering or solving.

Comments

@Psychlist1972
Copy link
Contributor

Psychlist1972 commented Feb 6, 2024

Many older MIDI 1.0 devices do not handle data flooding well. The driver doesn't know that messages are being dropped/discarded.

Investigate

  • A property that can specify that throttles messages to a device to a certain speed (default 31250 bps apx)
  • UI for the setting
  • A service plugin that queues up those messages
  • Possibly a setting for the initial buffer size (per device), if we use fixed buffers

Considerations

@Psychlist1972 Psychlist1972 added feature request 💡 New feature request or proposal area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. needs-investigation 🔍 Needs to be investigated before considering or solving. labels Feb 6, 2024
@Psychlist1972 Psychlist1972 self-assigned this Feb 6, 2024
@easypx
Copy link

easypx commented Feb 8, 2024

I did some research on the USB MIDI adapter market. The problem with sysex only seems to affect certain cheap, older adapters. (probably buffer too small, processing speed too low, no custom driver). There are now plenty of alternatives that cost a little more, but work. My last research was 10 years ago and there was really only a small selection, but a lot of these cheap Chinese imports and I have 3 of these cables myself. Time to buy a decent adapter. You can still use these cables for sysex with the software https://www.bome.com/products/sendsx
I think that integrating a fix (slowdown) for this into an operating system driver is not really a priority, also because of the possible difficulties described. From an operating system developer perspective, USB standards are adhered to. How the adapter handles this should be the responsibility of the hardware provider.
Here is a hardware fix that adds an optocoupler to the input, which should be there due to MIDI specs. I don't think this is the only problem with all these iterations (it is actually an unexpected, new problem), but it's worth a look.
http://www.arvydas.co.uk/2013/07/cheap-usb-midi-cable-some-self-assembly-may-be-required/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-service-or-api 🖥️ Related to the Windows Service, core API, abstractions, etc. feature request 💡 New feature request or proposal needs-investigation 🔍 Needs to be investigated before considering or solving.
Projects
Status: No status
Development

No branches or pull requests

2 participants