Support for multiple MIDI output devices/ports

• Aug 1, 2019 - 01:33
Reported version
3.x-dev
Type
Functional
Frequency
Few
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.

Support for infinite MIDI outputs would be a killer feature for MuseScore right now. You don't have to implement VST support right now because we can host virtual instruments and effects in other programs, paid or free -- as long as MIDI output from MuseScore is correct and fast. Musicians would use MuseScore much more if they could use their virtual instruments with it -- or actual MIDI instruments too. Certainly for me, personally, I cannot start using MuseScore if it means going back 2 decades to the ancient technology of soundfonts. But if I could have this one simple thing, MIDI output with dozens of output ports, then I would use virtual MIDI cables and control my virtual instruments.

Virtual MIDI cables on Windows
https://www.tobias-erichsen.de/software/loopmidi.html