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
@@ -21,10 +21,13 @@ Vst3PlugViewProxy::ConstructArgs::ConstructArgs() {}
Vst3PlugViewProxy::ConstructArgs::ConstructArgs(
Steinberg::IPtr<Steinberg::FUnknown> object,
size_t owner_instance_id)
: owner_instance_id(owner_instance_id), plug_view_args(object) {}
: owner_instance_id(owner_instance_id),
plug_view_args(object),
parameter_finder_args(object) {}
Vst3PlugViewProxy::Vst3PlugViewProxy(const ConstructArgs&& args)
: YaPlugView(std::move(args.plug_view_args)),
YaParameterFinder(std::move(args.parameter_finder_args)),
arguments(std::move(args)){FUNKNOWN_CTOR}
Vst3PlugViewProxy::~Vst3PlugViewProxy() {
@@ -44,6 +47,10 @@ tresult PLUGIN_API Vst3PlugViewProxy::queryInterface(Steinberg::FIDString _iid,
QUERY_INTERFACE(_iid, obj, Steinberg::IPlugView::iid,
Steinberg::IPlugView)
}
if (YaParameterFinder::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IParameterFinder::iid,
Steinberg::Vst::IParameterFinder)
}
*obj = nullptr;
return Steinberg::kNoInterface;