Browse Source

Only reactivate plugin during audio changes if active before

gh-pages
falkTX 10 years ago
parent
commit
8fbfd102dc
1 changed files with 9 additions and 5 deletions
  1. +9
    -5
      distrho/src/DistrhoPluginInternal.hpp

+ 9
- 5
distrho/src/DistrhoPluginInternal.hpp View File

@@ -118,7 +118,8 @@ class PluginExporter
public: public:
PluginExporter() PluginExporter()
: fPlugin(createPlugin()), : fPlugin(createPlugin()),
fData((fPlugin != nullptr) ? fPlugin->pData : nullptr)
fData((fPlugin != nullptr) ? fPlugin->pData : nullptr),
fIsActive(false)
{ {
DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,); DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,);
DISTRHO_SAFE_ASSERT_RETURN(fData != nullptr,); DISTRHO_SAFE_ASSERT_RETURN(fData != nullptr,);
@@ -343,6 +344,7 @@ public:
{ {
DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,); DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,);


fIsActive = true;
fPlugin->d_activate(); fPlugin->d_activate();
} }


@@ -350,6 +352,7 @@ public:
{ {
DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,); DISTRHO_SAFE_ASSERT_RETURN(fPlugin != nullptr,);


fIsActive = false;
fPlugin->d_deactivate(); fPlugin->d_deactivate();
} }


@@ -402,9 +405,9 @@ public:


if (doCallback) if (doCallback)
{ {
fPlugin->d_deactivate();
if (fIsActive) fPlugin->d_deactivate();
fPlugin->d_bufferSizeChanged(bufferSize); fPlugin->d_bufferSizeChanged(bufferSize);
fPlugin->d_activate();
if (fIsActive) fPlugin->d_activate();
} }
} }


@@ -421,9 +424,9 @@ public:


if (doCallback) if (doCallback)
{ {
fPlugin->d_deactivate();
if (fIsActive) fPlugin->d_deactivate();
fPlugin->d_sampleRateChanged(sampleRate); fPlugin->d_sampleRateChanged(sampleRate);
fPlugin->d_activate();
if (fIsActive) fPlugin->d_activate();
} }
} }


@@ -433,6 +436,7 @@ private:


Plugin* const fPlugin; Plugin* const fPlugin;
Plugin::PrivateData* const fData; Plugin::PrivateData* const fData;
bool fIsActive;


// ------------------------------------------------------------------- // -------------------------------------------------------------------
// Static fallback data, see DistrhoPlugin.cpp // Static fallback data, see DistrhoPlugin.cpp


Loading…
Cancel
Save