diff --git a/source/backend/engine/CarlaEngineBridge.cpp b/source/backend/engine/CarlaEngineBridge.cpp index 918a6b92a..20f1fdff5 100644 --- a/source/backend/engine/CarlaEngineBridge.cpp +++ b/source/backend/engine/CarlaEngineBridge.cpp @@ -337,7 +337,7 @@ public: return; } - const bool wasFirstIdle(fFirstIdle); + const bool wasFirstIdle = fFirstIdle; if (wasFirstIdle) { @@ -1245,6 +1245,10 @@ public: signalThreadShouldExit(); callback(true, true, ENGINE_CALLBACK_QUIT, 0, 0, 0, 0, 0.0f, nullptr); break; + + case kPluginBridgeNonRtClientReload: + fFirstIdle = true; + break; } } } diff --git a/source/utils/CarlaBridgeDefines.hpp b/source/utils/CarlaBridgeDefines.hpp index 36eae00dd..8b81fd689 100644 --- a/source/utils/CarlaBridgeDefines.hpp +++ b/source/utils/CarlaBridgeDefines.hpp @@ -81,6 +81,8 @@ enum PluginBridgeNonRtClientOpcode { kPluginBridgeNonRtClientSetWindowTitle, // uint/size, str[] // stuff added in API 9 kPluginBridgeNonRtClientEmbedUI, // ulong + // stuff added in API 10 + kPluginBridgeNonRtClientReload, }; // Client sends these to server during non-RT diff --git a/source/utils/CarlaBridgeUtils.hpp b/source/utils/CarlaBridgeUtils.hpp index 611f3b1ba..fb4be9732 100644 --- a/source/utils/CarlaBridgeUtils.hpp +++ b/source/utils/CarlaBridgeUtils.hpp @@ -129,6 +129,8 @@ const char* PluginBridgeNonRtClientOpcode2str(const PluginBridgeNonRtClientOpcod return "kPluginBridgeNonRtClientSetWindowTitle"; case kPluginBridgeNonRtClientEmbedUI: return "kPluginBridgeNonRtClientEmbedUI"; + case kPluginBridgeNonRtClientReload: + return "kPluginBridgeNonRtClientReload"; } carla_stderr("CarlaBackend::PluginBridgeNonRtClientOpcode2str(%i) - invalid opcode", opcode);