Support for multiple MIDI output devices/ports

• Aug 1, 2019 - 01:33
Reported version
3.x-dev
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

While internally MuseScore imagines as many ports and MIDI channels as it needs for all the instruments you specify, its ability to communicate to external MIDI devices via a single MIDI port (which, definitionally, implements up to 16 channels) is severely limited and limiting: it can only speak to one MIDI destination, be it an internal "pipe" such as Mac IAC or Windows midiLoop or a hardware MIDI adapter (definitionallly limited to 16 channels). If you have many such hardware or virtual devices, you can only talk to one of them in a MuseScore session: you choose it in the "MIDI output" slot in the I/O preferences dialog. This is inadequate of you really have discrete, diverse devices (e.g., a hardware adapter and a performance program) to which you want to output simultaneously.

The "MIDI Output" slot in the I/O preferences pane has to expanded to a pairing of a "port # selector" and dropdowns, with the ability to set a device for each port (if you need to). And code and data storage has to be implemented to save and restore these settings between sessions.

Complicating the situation is a bug (separate bug report) whereby MuseScore currently simply ignores port number when outputting to the single available port; correct behavior would be to inhibit sending MIDI data to it if the associated port number is not 1 (0 binary).


Comments

What would be even cooler than a new passle of 1990's Windows Dialog control descendents is something like what JACK has, viz., a GUI diagram wherein you can connect the numbers to the devices by mouse (with backup to non-graphics). But I don't know jack about that, as they say, and have no yen to figure out how to tell Qt to do that, or even if it can do it at all.