Support for multiple MIDI output devices/ports

• Aug 1, 2019 - 01:33
Reported version
S5 - Suggestion

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).


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.