VSTPluginInstance... no reset()?

Hey Jules,

While working on a host, I noticed that while playback with time-based effects present, things work great - except when I stop… Even though I’m calling reset() on my processors, I can still hear the tails. Looking through the VST code, it seems reset() isn’t even implemented.

Here be code to easily suspend and resume the plugin to cut the tails out:

void reset()
    if (isPowerOn)
        setPower (false);
        setPower (true);

Bizarre. I would have sworn that it already did that… I wonder if perhaps it used to have such a function, but got accidentally removed or something… Odd. Anyway, thanks, yes, I’ll add that!

Without reset() - it can only be achieved by calling releaseResources… which I obviously don’t want to constantly do to just cut tails out.

Could be! Surely Tracktion had this feature before?


I’m still not seeing reset() being called on Mac VST (either 32 or 64 bit).

If you’re writing a plugin, it’s up to the host to do it at its own discretion.

I’m writing a host myself, so I call it manually.

That’s interesting. I don’t really need the function, except for perhaps a few spots. I’ve long had a detector that does predictive logic on the playhead data. Guess I’ll keep it.