From 43f5e65b453e8def7950f5a244bc3b5d928b8a6a Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Fri, 18 Dec 2020 21:53:13 +0100 Subject: [PATCH] Implement IEditController::setParamNormalized() --- src/common/logging/vst3.cpp | 10 ++++++++++ src/common/logging/vst3.h | 2 ++ src/common/serialization/vst3.h | 1 + src/plugin/bridges/vst3-impls/plugin-proxy.cpp | 5 ++--- src/wine-host/bridges/vst3.cpp | 5 +++++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/common/logging/vst3.cpp b/src/common/logging/vst3.cpp index 620b65a6..dd351d66 100644 --- a/src/common/logging/vst3.cpp +++ b/src/common/logging/vst3.cpp @@ -365,6 +365,16 @@ void Vst3Logger::log_request( }); } +void Vst3Logger::log_request( + bool is_host_vst, + const YaEditController2::SetParamNormalized& request) { + log_request_base(is_host_vst, [&](auto& message) { + message << request.instance_id + << ": IEditController::setParamNormalized(id = " << request.id + << ", value = " << request.value << ")"; + }); +} + void Vst3Logger::log_request(bool is_host_vst, const YaPluginBase::Initialize& request) { log_request_base(is_host_vst, [&](auto& message) { diff --git a/src/common/logging/vst3.h b/src/common/logging/vst3.h index 2c0600e0..d978b464 100644 --- a/src/common/logging/vst3.h +++ b/src/common/logging/vst3.h @@ -96,6 +96,8 @@ class Vst3Logger { const YaEditController2::PlainParamToNormalized&); void log_request(bool is_host_vst, const YaEditController2::GetParamNormalized&); + void log_request(bool is_host_vst, + const YaEditController2::SetParamNormalized&); void log_request(bool is_host_vst, const YaPluginBase::Initialize&); void log_request(bool is_host_vst, const YaPluginBase::Terminate&); void log_request(bool is_host_vst, const YaPluginFactory::Construct&); diff --git a/src/common/serialization/vst3.h b/src/common/serialization/vst3.h index e36e4e8b..ee85fd7b 100644 --- a/src/common/serialization/vst3.h +++ b/src/common/serialization/vst3.h @@ -84,6 +84,7 @@ using ControlRequest = std::variantgetParamNormalized(request.id); }, + [&](const YaEditController2::SetParamNormalized& request) { + return object_instances[request.instance_id] + .edit_controller->setParamNormalized(request.id, + request.value); + }, [&](YaPluginBase::Initialize& request) -> YaPluginBase::Initialize::Response { // If we got passed a host context, we'll create a proxy object