I am working on a MIDI Remote script for a custom controller. As far as I can tell, the only way to navigate between tracks via the API is one track at a time using TrackSelectionAction. This can be especially inconvenient when multiple automation lanes are visible.
Is there a way to go from, for example, track 1 to track 3 without stepping through track 2 and automation lanes?
If not I would suggest an enhancement to allow direct selection by track index or unique name.
In a mixerZone, you can always jump to any of its channels. Example:
var midiremote_api = require('midiremote_api_v1')
var deviceDriver = midiremote_api.makeDeviceDriver("Test","Mixer Zone","m.c")
var midiInput = deviceDriver.mPorts.makeMidiInput("anInput")
var midiOutput = deviceDriver.mPorts.makeMidiOutput("anOutput")
var detectionUnit=deviceDriver.makeDetectionUnit()
detectionUnit.detectPortPair(midiInput, midiOutput)
.expectInputNameEquals("loopMIDI Port")
.expectOutputNameEquals("loopMIDI Port 1")
var surface=deviceDriver.mSurface
var mapping=deviceDriver.mMapping
var buttonsSelect=[]
for(var i=0;i<8;i++){
var buttonSelect=surface.makeButton(i,0,1,1)
buttonSelect.mSurfaceValue.mMidiBinding
.setInputPort(midiInput)
.bindToControlChange(0,i)
buttonsSelect.push(buttonSelect)
}
var page=mapping.makePage("Mixer")
var mixerZone=page.mHostAccess.mMixConsole.makeMixerBankZone("mixerZone")
mixerZone.excludeInputChannels().excludeOutputChannels()
var channels=[]
for(var i=0;i<8;i++){
channels.push(mixerZone.makeMixerBankChannel())
page.makeValueBinding(buttonsSelect[i].mSurfaceValue,channels[i].mValue.mSelected)
}