From 9bdfd5d8c3d5d5a9b555b6d192eb5c88da10c210 Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 20 Feb 2013 08:53:10 +0000 Subject: [PATCH] Misc fixing --- source/backend/engine/CarlaEngine.cpp | 3 +-- source/utils/CarlaThread.hpp | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/source/backend/engine/CarlaEngine.cpp b/source/backend/engine/CarlaEngine.cpp index f523a4152..8a286b27f 100644 --- a/source/backend/engine/CarlaEngine.cpp +++ b/source/backend/engine/CarlaEngine.cpp @@ -1376,6 +1376,7 @@ void CarlaEngine::processRack(float* inBuf[2], float* outBuf[2], const uint32_t plugin->initBuffers(); plugin->process(inBuf, outBuf, frames); +#if 0 // if plugin has no audio inputs, add previous buffers if (plugin->audioInCount() == 0) { @@ -1385,8 +1386,6 @@ void CarlaEngine::processRack(float* inBuf[2], float* outBuf[2], const uint32_t outBuf[1][j] += inBuf[1][j]; } } - -#if 0 // if plugin has no midi output, add previous events if (plugin->midiOutCount() == 0) { diff --git a/source/utils/CarlaThread.hpp b/source/utils/CarlaThread.hpp index 709f3487c..0bd5951dc 100644 --- a/source/utils/CarlaThread.hpp +++ b/source/utils/CarlaThread.hpp @@ -172,7 +172,20 @@ public: bool isRunning() { - return (fStarted && ! fFinished); + if (fStarted && ! fFinished) + return true; + + // take the change to clear data +#ifdef CPP11_THREAD + if (cthread != nullptr) + { + delete cthread; + cthread = nullptr; + } +#else + _zero(); +#endif + return false; } void waitForStarted(const unsigned int timeout = 0) // ms