diff --git a/libs/ardour/vst3_host.cc b/libs/ardour/vst3_host.cc index 5f44e79c6e..fb1783be24 100644 --- a/libs/ardour/vst3_host.cc +++ b/libs/ardour/vst3_host.cc @@ -57,6 +57,7 @@ DEF_CLASS_IID (Vst::IPlugInterfaceSupport) DEF_CLASS_IID (Vst::IProgramListData) DEF_CLASS_IID (Vst::IStreamAttributes) DEF_CLASS_IID (Vst::IUnitData) +DEF_CLASS_IID (Vst::IUnitHandler) DEF_CLASS_IID (Vst::IUnitInfo) DEF_CLASS_IID (Vst::ChannelContext::IInfoListener) @@ -342,6 +343,7 @@ PlugInterfaceSupport::PlugInterfaceSupport () //---PSL -------------------------------------- addPlugInterfaceSupported (Presonus::ISlaveControllerHandler::iid); addPlugInterfaceSupported (Presonus::IEditControllerExtra::iid); + addPlugInterfaceSupported (Presonus::IContextInfoHandler::iid); addPlugInterfaceSupported (Presonus::IContextInfoHandler2::iid); } diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index 4da5233878..7b3c7dcefd 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -1271,6 +1271,18 @@ VST3PI::queryInterface (const TUID _iid, void** obj) QUERY_INTERFACE (_iid, obj, FUnknown::iid, Vst::IComponentHandler2) QUERY_INTERFACE (_iid, obj, Vst::IComponentHandler2::iid, Vst::IComponentHandler2) + QUERY_INTERFACE (_iid, obj, FUnknown::iid, Vst::IConnectionPoint) + QUERY_INTERFACE (_iid, obj, Vst::IConnectionPoint::iid, Vst::IConnectionPoint) + QUERY_INTERFACE (_iid, obj, FUnknown::iid, Vst::IUnitHandler) + QUERY_INTERFACE (_iid, obj, Vst::IUnitHandler::iid, Vst::IUnitHandler) + + QUERY_INTERFACE (_iid, obj, FUnknown::iid, Presonus::IContextInfoProvider) + QUERY_INTERFACE (_iid, obj, Presonus::IContextInfoProvider::iid, Presonus::IContextInfoProvider) + QUERY_INTERFACE (_iid, obj, FUnknown::iid, Presonus::IContextInfoProvider2) + QUERY_INTERFACE (_iid, obj, Presonus::IContextInfoProvider2::iid, Presonus::IContextInfoProvider2) + QUERY_INTERFACE (_iid, obj, FUnknown::iid, Presonus::IContextInfoProvider3) + QUERY_INTERFACE (_iid, obj, Presonus::IContextInfoProvider3::iid, Presonus::IContextInfoProvider3) + #if SMTG_OS_LINUX if (_run_loop && FUnknownPrivate::iidEqual (_iid, Linux::IRunLoop::iid)) { *obj = _run_loop;