From 9e6b86b7f2e177d38d4efc4e53173624bbde486a Mon Sep 17 00:00:00 2001 From: falkTX Date: Sun, 4 Jan 2015 04:42:25 +0000 Subject: [PATCH] Update carla wrapper --- distrho/src/DistrhoPluginCarla.cpp | 58 ++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/distrho/src/DistrhoPluginCarla.cpp b/distrho/src/DistrhoPluginCarla.cpp index 3ba0b114..1f0a75e4 100644 --- a/distrho/src/DistrhoPluginCarla.cpp +++ b/distrho/src/DistrhoPluginCarla.cpp @@ -45,22 +45,27 @@ public: fPlugin(plugin), fUI(this, 0, editParameterCallback, setParameterCallback, setStateCallback, sendNoteCallback, setSizeCallback, plugin->getInstancePointer()) { - fUI.setTitle(host->uiName); + fUI.setWindowTitle(host->uiName); if (host->uiParentId != 0) - fUI.setTransientWinId(host->uiParentId); + fUI.setWindowTransientWinId(host->uiParentId); + } + + ~UICarla() + { + fUI.quit(); } // --------------------------------------------- void carla_show(const bool yesNo) { - fUI.setVisible(yesNo); + fUI.setWindowVisible(yesNo); } - void carla_idle() + bool carla_idle() { - fUI.idle(); + return fUI.idle(); } void carla_setParameterValue(const uint32_t index, const float value) @@ -84,7 +89,7 @@ public: void carla_setUiTitle(const char* const uiTitle) { - fUI.setTitle(uiTitle); + fUI.setWindowTitle(uiTitle); } // --------------------------------------------- @@ -112,7 +117,7 @@ protected: void handleSetSize(const uint width, const uint height) { - fUI.setSize(width, height); + fUI.setWindowSize(width, height); } // --------------------------------------------- @@ -205,25 +210,23 @@ protected: static NativeParameter param; - // reset - param.hints = ::PARAMETER_IS_ENABLED; param.scalePointCount = 0; param.scalePoints = nullptr; { - int nativeParamHints = ::PARAMETER_IS_ENABLED; + int nativeParamHints = ::NATIVE_PARAMETER_IS_ENABLED; const uint32_t paramHints = fPlugin.getParameterHints(index); if (paramHints & kParameterIsAutomable) - nativeParamHints |= ::PARAMETER_IS_AUTOMABLE; + nativeParamHints |= ::NATIVE_PARAMETER_IS_AUTOMABLE; if (paramHints & kParameterIsBoolean) - nativeParamHints |= ::PARAMETER_IS_BOOLEAN; + nativeParamHints |= ::NATIVE_PARAMETER_IS_BOOLEAN; if (paramHints & kParameterIsInteger) - nativeParamHints |= ::PARAMETER_IS_INTEGER; + nativeParamHints |= ::NATIVE_PARAMETER_IS_INTEGER; if (paramHints & kParameterIsLogarithmic) - nativeParamHints |= ::PARAMETER_IS_LOGARITHMIC; + nativeParamHints |= ::NATIVE_PARAMETER_IS_LOGARITHMIC; if (paramHints & kParameterIsOutput) - nativeParamHints |= ::PARAMETER_IS_OUTPUT; + nativeParamHints |= ::NATIVE_PARAMETER_IS_OUTPUT; param.hints = static_cast(nativeParamHints); } @@ -329,7 +332,13 @@ protected: realMidiEvent.frame = midiEvent.time; realMidiEvent.size = midiEvent.size; - carla_copy(realMidiEvent.buf, midiEvent.data, midiEvent.size); + uint8_t j=0; + for (; j(inBuffer), outBuffer, frames, realMidiEvents, midiEventCount); @@ -348,17 +357,30 @@ protected: void uiShow(const bool show) override { if (show) + { createUiIfNeeded(); + CARLA_SAFE_ASSERT_RETURN(fUiPtr != nullptr,); - if (fUiPtr != nullptr) fUiPtr->carla_show(show); + } + else if (fUiPtr != nullptr) + { + delete fUiPtr; + fUiPtr = nullptr; + } } void uiIdle() override { CARLA_SAFE_ASSERT_RETURN(fUiPtr != nullptr,); - fUiPtr->carla_idle(); + if (! fUiPtr->carla_idle()) + { + uiClosed(); + + delete fUiPtr; + fUiPtr = nullptr; + } } void uiSetParameterValue(const uint32_t index, const float value) override