Multiple midi outputs

I am trying to set it up so that my app can send to different midi outputs at the same time. I sorta see how to do it, but it seems very different than dealing with multiple midi inputs?

I’m trying to do it all through the AudioDeviceManager, but there is no midi output equivalent to isMidiInputEnabled (const String &midiInputDeviceName), and it looks like the audioDeviceManager only supports having one “default” midi output device at a time?

Also, MidiOutput::openDevice (int deviceIndex) only takes an int instead of the device name like the setMidiInputEnabled (const String &midiInputDeviceName, bool enabled) does in the audioDeviceManager.

Any suggestions on how to set this up properly? I have a feeling I am missing some idea about how and when MidiOutput objects are created?

I haven’t done midi out myself, but looking at the docs it seems like you just create an instance of MidiOutput for each midi out channel/device you want to send on. MidiOutput::getDevices() gives you a stringarray of your devicelist/outputs, so just use the index “i” of the device name you want from that list in MidiOutput::openDevice(i) ?

Midi is working out better, but I’m confused why MidiInput can use String DeviceName, but MidiOutputs use an int Index?