Solved: Using Bindings to send mouse clicks to Plugins

I have a old VST that has mouse click actions on GUI elements that I would like to control via C4 bindings. Is there an established method for executing mouse clicks (including R-click, Ctrl-Click, Alt-click, etc) on a plugin GUI?

I’m hazy on how C4 bindings are bound to particular elements of VSTs, so I am in Noob territory here. However, it seems like this VST does not provide a way to bind to those actions.

Hi Clint,

As far as I know bindings targets on the VST are determined by the VST in question. It simply provides the parameters that it has decided to have exposed for automation purposes and Cantabile lists them following any Cantabile based targets for the VST slot that are generic to Cantabile. I don’t readily know of a way but maybe @Torsten might know of a solution, he sometimes mentions AutoHotkey for tricky things like this. I hope you find a way. :slight_smile:

Cheers,

Dave

1 Like

Hi Clint,

If you don’t come up with anything using bindings or AutoHotkey look into Bome MIDI Translator Pro.

The forum is very good, usually Steve will have an answer.

Doug

2 Likes

TBH, I never use AutoHotkey for controlling plugin GUIs - too fiddly and risky IMO.

Most plugins I use do expose their parameters in a meaningful way via VST, so I can use them either as state behavior parameters or as binding targets. So if your plugin doesn’t expose these actions either via MIDI or as VST parameters, I wouldn’t really consider it for live use - just too risky for my taste…

Re connecting bindings to VST parameters: all VST parameters are essentially floating-point numbers between 0…1. So your binding needs to map its source to these values. You just pick your binding source and map it to that VST parameter. Typically, you control scalar values from controllers to VST parameters. If you have events (e.g. SongState->OnLoad), you’ll need to pick a target value to set your parameter to as a binding target.

What you can control this way totally depends on what parameters your plugin exposes:

Cheers,

Torsten

2 Likes

I was desperately hanging on to this one plugin - MidiLooper from the ancient (2009) Insert Piz Here bundle by Reuben Vinal, because it was the only thing I had found to serve as looped MIDI input to a drum sampler (Battery 4) for effectively making a software drum machine to serve my needs (description here: Looping a Media Player synched to Slave / Musical - #3 by ClintGoss).

I did locate the Topiary Beatz plugin, but I did encounter a show-stopper bug (reported on GitHub).

I then found the MidiLooper plugin and a GitHub repo with the ancient source code revived and ported to VST3 and the latest JUCE by Simon Leiner (sleiner on GitHub, from Karlsruhe, Germany). Thinking I could “just” git clone the code into Visual Studio and “just” add more VST parameters
… and also fix the crashes
… and the font issues
… and the failure to track the Cantabile timeline
… or respond to Start / Stop / Continue messages,
I blew 14 hours just trying to get the entire thing to compile. Arrrrgh!

Then I found Stochas.
Big win. Free, Open source, maintained, actively used, and ticks all the boxes (with the exception of Drag and Drop from external MIDI files, but there is a way around this).

So while the idea of “reaching out and clicking a button” might have worked for me in a pinch for a big software project 20 years ago, it’s a bad idea today …

Also, it was interesting how the NOISE generated by off-target (for my needs) commercial products SHOUTING at you whenever you do a search drowned out the ideally-suited open-source offering. I only stumbled on Stochas in a random comment on an unrelated discussion forum …

Thanks for the assistance!!

1 Like

Check out an example of Stochas in action 7 minutes into Cameron’s (Venus Theory) video on it:

2 Likes