clap

CLAP Audio Plugin API
Log | Files | Refs | README | LICENSE

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:
Mexamples/gui/application.cc | 14++++++++++++++
Mexamples/io/messages.hh | 14++++++++++++++
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;