commit 517b127deb016b2601cc6f82e996e2646358e6ff
parent 38f008323aa6a4eeb637bc3788dcd33199fe6ebc
Author: Alexandre BIQUE <bique.alexandre@gmail.com>
Date: Tue, 17 Aug 2021 19:13:20 +0200
Set the parameter value and modulation to the gui from the plugin
Diffstat:
2 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/examples/gui/application.cc b/examples/gui/application.cc
@@ -101,6 +101,20 @@ void Application::onMessage(const clap::RemoteChannel::Message &msg) {
break;
}
+ case clap::messages::kParameterValueRequest: {
+ clap::messages::ParameterValueRequest rq;
+ msg.get(rq);
+ pluginProxy_->param(rq.paramId)->setValueFromPlugin(rq.value);
+ break;
+ }
+
+ case clap::messages::kParameterModulationRequest: {
+ clap::messages::ParameterModulationRequest rq;
+ msg.get(rq);
+ pluginProxy_->param(rq.paramId)->setModulationFromPlugin(rq.modulation);
+ break;
+ }
+
case clap::messages::kSizeRequest: {
clap::messages::SizeResponse rp;
auto rootItem = quickView_->rootObject();
diff --git a/examples/io/messages.hh b/examples/io/messages.hh
@@ -7,6 +7,8 @@ namespace clap::messages {
enum Type : uint32_t {
// DSP->GUI
kDefineParameterRequest,
+ kParameterModulationRequest,
+ kParameterValueRequest,
// GUI->DSP
kBeginAdjustRequest,
@@ -61,6 +63,18 @@ namespace clap::messages {
clap_param_info info;
};
+ struct ParameterValueRequest final {
+ static const constexpr Type type = kParameterValueRequest;
+ clap_id paramId;
+ double value;
+ };
+
+ struct ParameterModulationRequest final {
+ static const constexpr Type type = kParameterModulationRequest;
+ clap_id paramId;
+ double modulation;
+ };
+
struct SetScaleRequest final {
static const constexpr Type type = kSetScaleRequest;
double scale;