I’m building a MIDI Remote API script (Cubase Pro 15) to control an Elgato Stream Deck Plus, and I’ve implemented full control over the 8 send slots of the selected track — level, on/off, and pre/post — via SelectedTrackChannel.mSends (SendSlotFolder.getByIndex()).
What I haven’t been able to find is a way to change the destination of a send slot (i.e. reassign which FX channel/bus a given slot routes to) from the script itself.
Looking at the official API reference, SendSlot only exposes three bindable HostValue properties: mOn, mPrePost and mLevel. There’s no mDestination, mTarget, or similar.
Before concluding this simply isn’t possible, I wanted to ask here in case someone has found a workaround:
Is there any DirectAccess parameter tag (via mHostAccess.mTrackSelection.mMixerChannel or similar) that maps to the send destination, even if undocumented?
Has anyone managed to read or write the destination through setParameterValue/setParameterDisplayValue on some hidden/internal tag?
Alternatively, is there any Cubase key command or macro that opens the send destination selector directly (so it could at least be triggered, even if not read back), which could be bound as a fallback?
It’s the “out” tag (4099) of the send slot. You can set the bus by its name (i.e. use setParameterDisplayValue).
You can populate a list for possible sends by checking in the mixer object for fx and group tracks. However you won’t have access to side-chains. This is the reason that I haven’t posted an otherwise working snippet for this. I prefer to wait from Steinberg to implement this querying, and I’m pretty sure they have it on their back log.
Thanks a lot for the detailed explanation, @m.c — that clears things up completely.
I’ll follow the same approach you described: waiting for Steinberg to eventually expose a proper query for the list of possible send destinations, rather than shipping a partial solution that only covers FX/group/output buses and leaves side-chains out.
In the meantime, I’ll keep using the Mackie Control protocol for changing send destinations on the selected track, which works quite well as a workaround.