Multiple MIDI ports in Remote driver?

Is it possible to open multiple MIDI ports within a MIDI Remote driver (JavaScript).

I tried a brief experiment, but was not successful. Quite possible that I’m doing something wrong. To clarify, I’m attempting to open two ports to the same device. Specifically, I’m trying to open both Novation SL MkIII and MIDIIN2 (Novation SL MkIII).

It probably dumb anyway, because InControl is only using MIDI channel 16 on MIDIIN2.

Hi @Dave_B, you have to set unique names like this:

var midiInput1 = deviceDriver.mPorts.makeMidiInput('Input 1')
var midiInput2 = deviceDriver.mPorts.makeMidiInput('Input 2')

var midiOutput1 = deviceDriver.mPorts.makeMidiOutput('Output 1')
var midiOutput2 = deviceDriver.mPorts.makeMidiOutput('Output 2')

knob1.mSurfaceValue.mMidiBinding
    .setInputPort(midiInput1)
    .setOutputPort(midiOutput1)
    .bindToControlChange (0, 22)

knob2.mSurfaceValue.mMidiBinding
    .setInputPort(midiInput2)
    .setOutputPort(midiOutput2)
    .bindToControlChange (0, 22)

Interesting! I had tried the open syntax similar to how you illustrated, however I was trying to open two ports to the same Novation SL MKIII and it seemed to cause the driver to malfunction. I had not yet tried binding anything. I’ll have to revisit this.

Would it be an issue if each of the makeMidiInput/Output use the expect syntax:

deviceDriver.makeDetectionUnit().detectPortPair(midiInput, midiOutput)
    .expectInputNameEquals('To-Cubase')
    .expectOutputNameEquals('From-Cubase')
    .expectSysexIdentityResponse(/*vendor id (1 or 3 bytes, here: 3 bytes)*/'002029', /*device family*/'0101', /*model number*/'0000')