From 00632dc920d87647a0cfa3e9aa00530d4c587206 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sun, 3 Jan 2021 23:24:14 +0100 Subject: [PATCH] Add message structs for IParameterFinder --- .../vst3/plug-view/parameter-finder.h | 36 +++++++++++++++++++ .../serialization/vst3/plug-view/plug-view.h | 1 + 2 files changed, 37 insertions(+) diff --git a/src/common/serialization/vst3/plug-view/parameter-finder.h b/src/common/serialization/vst3/plug-view/parameter-finder.h index a3b031a6..94569727 100644 --- a/src/common/serialization/vst3/plug-view/parameter-finder.h +++ b/src/common/serialization/vst3/plug-view/parameter-finder.h @@ -18,6 +18,7 @@ #include +#include "../../common.h" #include "../base.h" #pragma GCC diagnostic push @@ -60,6 +61,41 @@ class YaParameterFinder : public Steinberg::Vst::IParameterFinder { inline bool supported() const { return arguments.supported; } + /** + * The response code and editor size returned by a call to + * `IParameterFinder::findParameter(x_pos, y_pos, &result_tag)`. + */ + struct FindParameterResponse { + UniversalTResult result; + Steinberg::Vst::ParamID result_tag; + + template + void serialize(S& s) { + s.object(result); + s.value4b(result_tag); + } + }; + + /** + * Message to pass through a call to `IParameterFinder::findParameter(x_pos, + * y_pos, &result_tag)` to the Wine plugin host. + */ + struct FindParameter { + using Response = FindParameterResponse; + + native_size_t owner_instance_id; + + int32 x_pos; + int32 y_pos; + + template + void serialize(S& s) { + s.value8b(owner_instance_id); + s.value4b(x_pos); + s.value4b(y_pos); + } + }; + virtual tresult PLUGIN_API findParameter(int32 xPos, int32 yPos, diff --git a/src/common/serialization/vst3/plug-view/plug-view.h b/src/common/serialization/vst3/plug-view/plug-view.h index ec94c0b2..a964c0e0 100644 --- a/src/common/serialization/vst3/plug-view/plug-view.h +++ b/src/common/serialization/vst3/plug-view/plug-view.h @@ -18,6 +18,7 @@ #include +#include "../../common.h" #include "../base.h" #include "../plug-frame-proxy.h"