From 8eb4dcb675467d5bb8cc8e57fefea01c232a0da7 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 30 Aug 2020 21:15:33 +0200 Subject: [PATCH] Fix websocket C++11ism --- libs/surfaces/websockets/dispatcher.cc | 2 +- libs/surfaces/websockets/feedback.cc | 2 +- libs/surfaces/websockets/mixer.cc | 2 +- libs/surfaces/websockets/mixer.h | 9 ++++++++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/surfaces/websockets/dispatcher.cc b/libs/surfaces/websockets/dispatcher.cc index aec058e1a9..d41afc464c 100644 --- a/libs/surfaces/websockets/dispatcher.cc +++ b/libs/surfaces/websockets/dispatcher.cc @@ -95,7 +95,7 @@ WebsocketsDispatcher::update_all_nodes (Client client) try { a_ctrl = strip.plugin (plugin_id).param_control (param_id); - } catch (ArdourMixerNotFoundException) { + } catch (ArdourMixerNotFoundException& err) { continue; } diff --git a/libs/surfaces/websockets/feedback.cc b/libs/surfaces/websockets/feedback.cc index b6a61d6f61..01524d4e38 100644 --- a/libs/surfaces/websockets/feedback.cc +++ b/libs/surfaces/websockets/feedback.cc @@ -241,7 +241,7 @@ ArdourFeedback::observe_strip_plugins (uint32_t strip_id, ArdourMixerStrip::Plug boost::bind (PluginParamValueObserver (), this, strip_id, plugin_id, param_id, boost::weak_ptr(control)), event_loop ()); - } catch (ArdourMixerNotFoundException) { + } catch (ArdourMixerNotFoundException& e) { /* ignore */ } } diff --git a/libs/surfaces/websockets/mixer.cc b/libs/surfaces/websockets/mixer.cc index 8efb9ea863..d11ed8febe 100644 --- a/libs/surfaces/websockets/mixer.cc +++ b/libs/surfaces/websockets/mixer.cc @@ -101,7 +101,7 @@ ArdourMixerPlugin::param_control (uint32_t param_id) const uint32_t control_id = plugin->nth_parameter (param_id, ok); if (!ok || !plugin->parameter_is_input (control_id)) { - throw ArdourMixerNotFoundException("invalid automation control for param id = " + throw ArdourMixerNotFoundException ("invalid automation control for param id = " + boost::lexical_cast(param_id)); } diff --git a/libs/surfaces/websockets/mixer.h b/libs/surfaces/websockets/mixer.h index 5bf61c687d..63104bf445 100644 --- a/libs/surfaces/websockets/mixer.h +++ b/libs/surfaces/websockets/mixer.h @@ -28,7 +28,14 @@ namespace ArdourSurface { struct ArdourMixerNotFoundException : public virtual std::runtime_error { - using std::runtime_error::runtime_error; // XXX! +public: + ArdourMixerNotFoundException (std::string const & what) + : runtime_error (what) + , _what (what) + {} + virtual const char* what() const throw() { return _what.c_str(); } +private: + std::string _what; }; class ArdourMixerPlugin