Fully implement IPlugInterfaceSupport

With this we support all VST 3.6.12 interfaces.
This commit is contained in:
Robbert van der Helm
2021-01-16 15:19:10 +01:00
parent 701271c273
commit 73fda0b568
7 changed files with 41 additions and 5 deletions
@@ -111,6 +111,7 @@ YaPluginFactoryImpl::setHostContext(Steinberg::FUnknown* context) {
// Automatically converted smart pointers for when the plugin performs a
// callback later
host_application = host_context;
plug_interface_support = host_context;
return bridge.send_message(YaPluginFactory::SetHostContext{
.host_context_args = Vst3HostContextProxy::ConstructArgs(
@@ -32,6 +32,8 @@ class YaPluginFactoryImpl : public YaPluginFactory {
// `IPluginFactory3::setHostContext()` has been called
Steinberg::FUnknownPtr<Steinberg::Vst::IHostApplication> host_application;
Steinberg::FUnknownPtr<Steinberg::Vst::IPlugInterfaceSupport>
plug_interface_support;
private:
Vst3PluginBridge& bridge;
@@ -698,6 +698,7 @@ tresult PLUGIN_API Vst3PluginProxyImpl::initialize(FUnknown* context) {
// Automatically converted smart pointers for when the plugin performs a
// callback later
host_application = host_context;
plug_interface_support = host_context;
return bridge.send_message(YaPluginBase::Initialize{
.instance_id = instance_id(),
@@ -338,6 +338,8 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
// `IPluginBase::initialize()` has been called
Steinberg::FUnknownPtr<Steinberg::Vst::IHostApplication> host_application;
Steinberg::FUnknownPtr<Steinberg::Vst::IPlugInterfaceSupport>
plug_interface_support;
// The following pointers are cast from `component_handler` if
// `IEditController::setComponentHandler()` has been called