Fully implement IParameterFinder

With this we're at VST 3.0.2 support.
This commit is contained in:
Robbert van der Helm
2021-01-03 23:46:13 +01:00
parent 52d4fe2f08
commit 8924124abb
7 changed files with 46 additions and 3 deletions
@@ -157,3 +157,18 @@ Vst3PlugViewProxyImpl::checkSizeConstraint(Steinberg::ViewRect* rect) {
return Steinberg::kInvalidArgument;
}
}
tresult PLUGIN_API Vst3PlugViewProxyImpl::findParameter(
int32 xPos,
int32 yPos,
Steinberg::Vst::ParamID& resultTag /*out*/) {
const FindParameterResponse response =
bridge.send_message(YaParameterFinder::FindParameter{
.owner_instance_id = owner_instance_id(),
.x_pos = xPos,
.y_pos = yPos});
resultTag = response.result_tag;
return response.result;
}
@@ -57,6 +57,12 @@ class Vst3PlugViewProxyImpl : public Vst3PlugViewProxy {
tresult PLUGIN_API canResize() override;
tresult PLUGIN_API checkSizeConstraint(Steinberg::ViewRect* rect) override;
// From `IParameterFinder`
tresult PLUGIN_API
findParameter(int32 xPos,
int32 yPos,
Steinberg::Vst::ParamID& resultTag /*out*/) override;
/**
* The `IPlugFrame` object passed by the host passed to us in
* `IPlugView::setFrame()`. When the plugin makes a callback on the