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