@@ -702,13 +702,15 @@ public: | |||||
/*! | /*! | ||||
* Close engine. | * Close engine. | ||||
* This function always closes the engine even if it returns false. | |||||
* In other words, even when something goes wrong when closing the engine it still be closed nonetheless. | |||||
*/ | */ | ||||
virtual bool close(); | virtual bool close(); | ||||
/*! | /*! | ||||
* Idle engine. | * Idle engine. | ||||
*/ | */ | ||||
virtual void idle(); | |||||
virtual void idle() noexcept; | |||||
/*! | /*! | ||||
* Check if engine is running. | * Check if engine is running. | ||||
@@ -839,7 +839,7 @@ bool CarlaEngine::close() | |||||
return true; | return true; | ||||
} | } | ||||
void CarlaEngine::idle() | |||||
void CarlaEngine::idle() noexcept | |||||
{ | { | ||||
CARLA_SAFE_ASSERT_RETURN(pData->nextAction.opcode == kEnginePostActionNull,); // TESTING, remove later | CARLA_SAFE_ASSERT_RETURN(pData->nextAction.opcode == kEnginePostActionNull,); // TESTING, remove later | ||||
CARLA_SAFE_ASSERT_RETURN(pData->nextPluginId == pData->maxPluginNumber,); // TESTING, remove later | CARLA_SAFE_ASSERT_RETURN(pData->nextPluginId == pData->maxPluginNumber,); // TESTING, remove later | ||||
@@ -850,10 +850,14 @@ void CarlaEngine::idle() | |||||
CarlaPlugin* const plugin(pData->plugins[i].plugin); | CarlaPlugin* const plugin(pData->plugins[i].plugin); | ||||
if (plugin != nullptr && plugin->isEnabled()) | if (plugin != nullptr && plugin->isEnabled()) | ||||
plugin->idle(); | |||||
{ | |||||
try { | |||||
plugin->idle(); | |||||
} CARLA_SAFE_EXCEPTION_CONTINUE("Plugin idle"); | |||||
} | |||||
} | } | ||||
idleOsc(); | |||||
pData->osc.idle(); | |||||
} | } | ||||
CarlaEngineClient* CarlaEngine::addClient(CarlaPlugin* const) | CarlaEngineClient* CarlaEngine::addClient(CarlaPlugin* const) | ||||
@@ -2060,9 +2064,7 @@ bool CarlaEngine::isOscControlRegistered() const noexcept | |||||
void CarlaEngine::idleOsc() const noexcept | void CarlaEngine::idleOsc() const noexcept | ||||
{ | { | ||||
try { | |||||
pData->osc.idle(); | |||||
} catch(...) {} | |||||
pData->osc.idle(); | |||||
} | } | ||||
const char* CarlaEngine::getOscServerPathTCP() const noexcept | const char* CarlaEngine::getOscServerPathTCP() const noexcept | ||||
@@ -980,7 +980,7 @@ public: | |||||
} | } | ||||
#ifndef BUILD_BRIDGE | #ifndef BUILD_BRIDGE | ||||
void idle() override | |||||
void idle() noexcept override | |||||
{ | { | ||||
CarlaEngine::idle(); | CarlaEngine::idle(); | ||||
@@ -1810,7 +1810,7 @@ private: | |||||
PatchbayConnectionList fUsedConnections; | PatchbayConnectionList fUsedConnections; | ||||
LinkedList<uint> fNewGroups; | LinkedList<uint> fNewGroups; | ||||
bool findPluginIdAndIcon(const char* const clientName, int& pluginId, PatchbayIcon& icon) | |||||
bool findPluginIdAndIcon(const char* const clientName, int& pluginId, PatchbayIcon& icon) noexcept | |||||
{ | { | ||||
carla_debug("CarlaEngineJack::findPluginIdAndIcon(\"%s\", ...)", clientName); | carla_debug("CarlaEngineJack::findPluginIdAndIcon(\"%s\", ...)", clientName); | ||||
@@ -117,8 +117,7 @@ void CarlaEngineOsc::idle() const noexcept | |||||
try { | try { | ||||
if (lo_server_recv_noblock(fServerTCP, 0) == 0) | if (lo_server_recv_noblock(fServerTCP, 0) == 0) | ||||
break; | break; | ||||
} | |||||
CARLA_SAFE_EXCEPTION_CONTINUE("OSC idle TCP") | |||||
} CARLA_SAFE_EXCEPTION_CONTINUE("OSC idle TCP") | |||||
} | } | ||||
} | } | ||||
@@ -129,8 +128,7 @@ void CarlaEngineOsc::idle() const noexcept | |||||
try { | try { | ||||
if (lo_server_recv_noblock(fServerUDP, 0) == 0) | if (lo_server_recv_noblock(fServerUDP, 0) == 0) | ||||
break; | break; | ||||
} | |||||
CARLA_SAFE_EXCEPTION_CONTINUE("OSC idle UDP") | |||||
} CARLA_SAFE_EXCEPTION_CONTINUE("OSC idle UDP") | |||||
} | } | ||||
} | } | ||||
} | } | ||||