From 4804174dae01c8545622fb0b706dbb8938b96f06 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sun, 17 Jan 2021 13:42:08 +0100 Subject: [PATCH] Add message structs for IParameterFunctionName --- .../vst3/plugin/parameter-function-name.h | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/common/serialization/vst3/plugin/parameter-function-name.h b/src/common/serialization/vst3/plugin/parameter-function-name.h index 300d13c1..0c161540 100644 --- a/src/common/serialization/vst3/plugin/parameter-function-name.h +++ b/src/common/serialization/vst3/plugin/parameter-function-name.h @@ -63,6 +63,43 @@ class YaParameterFunctionName : public Steinberg::Vst::IParameterFunctionName { inline bool supported() const { return arguments.supported; } + /** + * The response code and returned parameter ID for a call to + * `IParameterFunctionName::getParameterIDFromFunctionName(unit_id, + * function_name, ¶m_id)`. + */ + struct GetParameterIDFromFunctionNameResponse { + UniversalTResult result; + Steinberg::Vst::ParamID param_id; + + template + void serialize(S& s) { + s.object(result); + s.value4b(param_id); + } + }; + + /** + * Message to pass through a call to + * `IParameterFunctionName::getParameterIDFromFunctionName(unit_id, + * function_name, ¶m_id)` to the Wine plugin host. + */ + struct GetParameterIDFromFunctionName { + using Response = GetParameterIDFromFunctionNameResponse; + + native_size_t instance_id; + + Steinberg::Vst::UnitID unit_id; + std::string function_name; + + template + void serialize(S& s) { + s.value8b(instance_id); + s.value4b(unit_id); + s.text1b(function_name, 1024); + } + }; + virtual tresult PLUGIN_API getParameterIDFromFunctionName( Steinberg::Vst::UnitID unitID, Steinberg::FIDString functionName,