I have the Surge XT Synth plugin loaded into 32 bit version of Canatbile 3 and the AKAI MPK mini Mk3 MIDI controller. It works fine except there is some bizarre behavior when configuring the synths controls to to CC knobs on the MPK.
1/ No matter what, none of the relative modes work as they should and the Surge XT controls jump back and forth between min and max values when adjusting a knob. The MPK has been configured to send in relative mode and I can confirm this works with other plugins. Switching to absolute mode will give a smooth control response but with the immediate jump to zero every time the plugin is activated.
2/ A single binding will assign itself to other controls. say for example cc 16 osc 1 level will also control Filt 1 cutoff. There is only one instance of this CC in the Cantabile bindings list yet if I check the cc assignment for the filter cutoff in Surge it shows as bound to 16 same as osc 1. Even if the binding is cleared from surge, the errant cc still comes back.
Are you sending the CCs to the plugin as well as using them in the bindings? There might be assigments for the CCs within Surge, so if you are certain that all controls are managed through bindings, then you can filter out any CCs etc and only send notes to the plugin.
Parameters in surge can be assigned cc values independently of cantabile bindings either in a learn mode or selecting the value. The problem seems to be that when creating bindings surge seems to behave as if it’s in learn mode and cc values can be seen assigned to parameters that were previously empty. This appears to create a conflict when in relative mode, but doesn’t explain why random parameters ended up with the same assignment. I previously tried to resolve this by going into each parameter and clearing it but the problem kept coming back. Buried deep in the plugin is a clear MIDI map data function and this looks like it may have resolved the issue, however it returns when cantabile is closed and then reopened necessitating clearing the MIDI map before using