My plug-in is for hardware controllers. From user perspective it work as controller driver inside Sonar. It is sufficiently flexible to not only execute all available in Sonar for Control Surfaces functions but it can also send arbitrary text to TTS build-in into Windows. The text can contain any information available for such plug-ins in text, for example track names, markers, parameter names, values. Hardware button and arbitrary combinations of buttons on controller can be configured to trigger that information sending, for example button X plus button solo from some strip can trigger information like "Guitar solo", "Guitar mute" or simply "Guitar" depending either the track with name "Guitar" is soloed, muted or not. Another information source comes from Sonar state changes, for example Sonar transport can be tracked, producing corresponding TTS statements even when you use computer keyboard to start/stop playing.
Control Surface can operate within plug-ins automatable parameters only. Unfortunately, not all VSTi parameters are available for automation. When available, preset can send to TTS particular parameter name as well as the value.
I do not have listed plug-ins, so I can not produce good ACT mapping for them on my own. But we can do this together with TeamViewer. I guess we need it for initial setup in any case.
As I wrote, I have ready to use preset with TTS for LaunchKey MK1 only. But we can make any MIDI controller function the same way. If you already have some device or can get it, I can configure it so you understand how that is going to work. You can decide then which controller you need, I mean in terms of number of controls and quality vs the price. For TTS in is good to have many buttons which are easy to find. BCF2000 has quite some buttons, but it has no dedicated transport section and all buttons are the same. It is motor faders but they are not touch sensitive. Also I am not sure that endless encoders is the best choice in your case since unlike with normal knobs it is not possible to feel current position. On the other hand you can always modify parameter from its position and not from hardware position of the knob, I think that depends on personal preferences. Launchkey has 8+1 strip buttons, 18 pads (2 round), transport section and track switching buttons, but that is a bad choice in case you are not going to use its normal keys.
PS My site is up again.