I use an external device to control expression maps, and it needs to know when different tracks are selected to know which articulations to display.
With the old Generic Remote feature, each time a track was selected I used to be able to intercept a message from the remote in the MIDI send, assign my own value for each track, and send that out of a different MIDI port (to the external device).
I spent some time with the new Midi Remote, and I’m not finding a good way to implement that. I think it may be possible to get the raw track/channel number, but that doesn’t work for my use case, as adding/removing/importing tracks would completely break everything. I need some way to manually set a value for each track.
Part of the problem is that data sent from the Midi Remote is not available for filtering/transform in the MIDI send, while with the old generic remote you could intercept a message there. I understand if it’s not practical for the new Remote to work that way, but some way to achieve the same result with the new system would be nice.
The only workaround that I have found is using per-track PAN and/or VOLUME values to act as an ad-hoc “expression map ID” for the remote device. That’s not ideal as I then have to disable sending PAN/VOLUME to that actual instrument.
I’ve been through the Remote API reference documentation in detail and not seen anything else that could work.