Parameter updates when IEditController and IAudioProcessor are the same object?

SDK for VST 3 audio plug-in and host development.
Post Reply
abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Parameter updates when IEditController and IAudioProcessor are the same object?

Post by abique » Mon Mar 25, 2019 2:52 pm

Hi,

When the IEditController is created from IAudioProcessor::queryInterface(), do we need to pass the parameter update due to automation playback to the IEditController?

So far we've found that it was not necessary, all the plugins already update their GUI after the automation playback with the IAudioProcessor.

Except Softube which expects the IEditController to receive the parameter update even if it is created from IAudioProcessor::queryInterface().

What should be done? Should the DAW always send the parameter update to the IEditController?

On the other hand, for the plugins which do update the GUI just with the automation playback on the IAudioProcessor, if they receive again the same parameter update but later and on a different thread with the IEditController interface, it might conflict with the automation being played to IAudioProcessor right?

Thank you very much,
Alexandre

abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Re: Parameter updates when IEditController and IAudioProcessor are the same object?

Post by abique » Mon Mar 25, 2019 3:07 pm

It feels that the correct solution is to always send the parameter update to the IEditController.

If the IAudioProcessor already does the job to update the GUI parameter, then it should discard the IEditController parameter updates right? Which in that case creates unecessary traffic in the Host to schedule the the updates for IEditController. Then it would be great to have an interface to let the plugin inform the host that there is no need to transmit the parameter update to the IEditController.

abique
Posts: 39
Joined: Tue Jun 21, 2016 12:43 pm

Re: Parameter updates when IEditController and IAudioProcessor are the same object?

Post by abique » Mon Mar 25, 2019 3:49 pm

Third thought, if IEditController::setParamNormalized(ParamID id, ParamValue value) return kNotImplemented or kResultFalse, then we can set a flag that we don't need to send further parameter update to IEditController. Does it sounds good?

Arne Scheffler
Posts: 291
Joined: Mon Jun 20, 2016 7:53 am

Re: Parameter updates when IEditController and IAudioProcessor are the same object?

Post by Arne Scheffler » Mon Mar 25, 2019 4:57 pm

You should always send parameter updates to the IEditController. Everything else is undefined.

Cheers,
Arne

Post Reply