diff --git a/distrho/src/DistrhoPluginAU.cpp b/distrho/src/DistrhoPluginAU.cpp index 933d0a92..6199f5bb 100644 --- a/distrho/src/DistrhoPluginAU.cpp +++ b/distrho/src/DistrhoPluginAU.cpp @@ -26,6 +26,19 @@ START_NAMESPACE_DISTRHO static const writeMidiFunc writeMidiCallback = nullptr; // #endif +// ----------------------------------------------------------------------- + +struct LastValuesInit { + LastValuesInit() + { + if (d_lastBufferSize == 0) + d_lastBufferSize = kAUDefaultMaxFramesPerSlice; + + if (d_isZero(d_lastSampleRate)) + d_lastSampleRate = kAUDefaultSampleRate; + }; +}; + // ----------------------------------------------------------------------- // AU Plugin @@ -34,6 +47,7 @@ class PluginAU : public AUEffectBase public: PluginAU(AudioUnit component) : AUEffectBase(component), + fLastValuesInit(), fPlugin(this, writeMidiCallback) { CreateElements(); @@ -172,6 +186,7 @@ public: // ------------------------------------------------------------------- private: + LastValuesInit fLastValuesInit; PluginExporter fPlugin; // most of the real work happens here