mute [suspend] automation host message...

Thank you for your reply. If there is no interface to do this properly (yet), then I would like to ask another question.

There is a curious behavior regarding the mute/unmute automation button. When I unmute the automation track, the value of the associated parameter (in the GUI) changes to the cursor crossing value, as described previously, but the semantic action associated with this parameter is NOT invoked. If I subsequently move the cursor (either by clicking with the mouse or running Cubase from the transport bar) the parameter value changes AND the associated semantic action is invoked each time it changes. So it seem that the first time the parameter value changes (unmuting the automation track) the plugin doesn’t think there has been any change to the parameter, even though the value in the GUI changes, and therefore does not process anything.

My problem is, I NEED the semantic action to be invoked WHENEVER the parameter value changes, to stay in sync with something else in the system. Right now, when I unmute the automation track of the parameter, the nominal value changes but the corresponding semantic action which keeps everything in sync is not invoked. I suspect this has something to do with the “pointCount” (as in the processor):

queue = data.inputParameterChanges->getParameterData(i);
if (queue->getPoint((queue->getPointCount() - 1),sampleOffset,value) == kResultTrue)

But I’m not sure of this. So my question is this: Is there any way I can trick the controller into thinking the position has changed when I unmute the automation track and cause it to invoke the semantic action which keeps everything in sync?

I realize this a complex question, I have tried to keep things clear, but if I have failed to do so let me know and I’ll try again.

My original plan was to distinguish when "setParamNormalized() was invoked from unmuting the button as opposed to normal processing, and invoke the required semantic action directly in the former case and leave it to the normal flow of the controller/processor in the latter case, but since I can’t do that, I’m kind of stuck. Hoping you have a suggestion :slight_smile:

Thanks.