Initializing AudioEffect after its peer is connected?


I’m currently initializing my vst3 processor inside initialize() which attempts to send IMessages to the controller. In the AUv2 wrapper (at least) the peer is not connected until after initialize is called so I’m considering solutions.

Is there another proper time to initialize parts of the plug-in where the controller is guaranteed to be connected (or perhaps will never be)?

Of course the messages could be queued until the controller is connected but this presents some complications so knowing an answer to the above question would be preferable.

Many thanks,

Initialize is too earlier.
Did you try to send your first message in the connect call?

Yeah, Yvan is correct, use IConnectionPoint::connect for this use case.

I can certainly initialize in connect(). Is connect() always guaranteed to be called?

As long as you have the IEditController and IAudioProcessor separated the connect call is guaranteed to be called.