Enable/disable specific midi ports on Windows #3167
Replies: 3 comments 1 reply
-
Hi @BN701 - thanks for this. I hadn't realised that Windows class compliant drivers had some sort of concurrency restrictions and only allowed one app to connect at any one time. Thanks so much for letting me know about this. Unfortunately as it currently stands, the MIDI driver binding behaviour is hard-coded into the native library we use (developed by @Lloret). However, we are currently in the process of reworking our entire MIDI architecture. We are currently looking into the work required to support the ability to opt in/out of connecting to certain MIDI ports. I'll get back to you here when we have more understanding of the situation and the possibilities we have to improve things. It would be great to discuss them here to make sure that if we are able to offer something like this it works for you :-) |
Beta Was this translation helpful? Give feedback.
-
Always happy to discuss or help. I'm also a C/C++ coder with a several decades worth of intermittent experience, most of it on Windows, though nothing current. I would be happy to roll up my sleeves, if needed. |
Beta Was this translation helpful? Give feedback.
-
Hey @BN701 - is this still an issue with v4? |
Beta Was this translation helpful? Give feedback.
-
The current Windows 10 class compliant driver for USB/Midi is not sharable between Windows apps. (Many custom drivers can be shared, but a lot of USB/midi hardware being released at the moment does not have a custom driver and relies on the class compliant driver instead.)
Looking at Sonic Pi version 3.2.2 on Windows 10, it opens all available midi ports regardless whether you intend to use them in your code. This means that other software - in my case I also use Ableton, Reaper, and VCV Rack - cannot open them for themselves even when Sonic Pi isn't using them. Imagine a situation with several outboard synths. I want to use Sonic Pi to sequence some of them and Ableton to sequence others ... but I can't use Ableton for this when Sonic Pi has grabbed all the midi ports on the PC.
Both Reaper and Ableton have configuration UIs which allow specific midi ports to be enabled/disabled for use within the app. Any disabled ports are free for use by other software. It would greatly improve flexibility and interoperability on Windows if the Midi Ports panel in Prefs/IO had this functionality, too.
Beta Was this translation helpful? Give feedback.
All reactions