One of my plugins is GrooveAgent 2 (a drum machine) from steinberg. It has stop and run buttons on it. To make it play you push the 'run' button. It works in my juce based audio host. But...when used in cubase and 'run' (arming the thing) is pushed it manages to start and stop itself along with cubase's transport. So when playing a song in cubase the drum machine starts and stops automatically according to the the run/pause state of the transport.
Does anybody know HOW cubase is telling the thing to run and pause? I'm providing position info via an AudioPlayHead to the plugins, but the drum machine (and everything else?) is ignoring the state of the isPlaying flag. I know the position info is getting to the drum machine because it's responding to the ppqPosition and tempo.
So does anybody have a clue as to what magic cubase is wielding in order to do this? - Oh...I can grab the 'run/stop' parameter and COULD change that (and it would work) but that takes 'special knowledge' of the plugin. Is there a 'generic' way to accomplish this? - Since steinberg wrote both cubase and grooveagent 2 it's within the realm of possibility that they're taking advantage of this and directly controlling the drum machine via setting a parameter I guess.