From a2203cfef72762ebec441d532f330faec8b57925 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Sat, 16 Jan 2021 16:08:23 +0100 Subject: [PATCH] Add stubs for IProcessContextRequirements --- src/common/serialization/vst3/plugin-proxy.cpp | 8 ++++++++ src/common/serialization/vst3/plugin-proxy.h | 5 +++++ src/plugin/bridges/vst3-impls/plug-view-proxy.h | 2 +- src/plugin/bridges/vst3-impls/plugin-proxy.cpp | 8 ++++++++ src/plugin/bridges/vst3-impls/plugin-proxy.h | 3 +++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/common/serialization/vst3/plugin-proxy.cpp b/src/common/serialization/vst3/plugin-proxy.cpp index b31b35d3..cc9f370c 100644 --- a/src/common/serialization/vst3/plugin-proxy.cpp +++ b/src/common/serialization/vst3/plugin-proxy.cpp @@ -37,6 +37,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs( note_expression_controller_args(object), plugin_base_args(object), prefetchable_support_args(object), + process_context_requirements_args(object), program_list_data_args(object), unit_data_args(object), unit_info_args(object), @@ -63,6 +64,8 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args) std::move(args.note_expression_physical_ui_mapping_args)), YaPluginBase(std::move(args.plugin_base_args)), YaPrefetchableSupport(std::move(args.prefetchable_support_args)), + YaProcessContextRequirements( + std::move(args.process_context_requirements_args)), YaProgramListData(std::move(args.program_list_data_args)), YaUnitData(std::move(args.unit_data_args)), YaUnitInfo(std::move(args.unit_info_args)), @@ -164,6 +167,11 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid, QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IPrefetchableSupport::iid, Steinberg::Vst::IPrefetchableSupport) } + if (YaProcessContextRequirements::supported()) { + QUERY_INTERFACE(_iid, obj, + Steinberg::Vst::IProcessContextRequirements::iid, + Steinberg::Vst::IProcessContextRequirements) + } if (YaProgramListData::supported()) { QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid, Steinberg::Vst::IProgramListData) diff --git a/src/common/serialization/vst3/plugin-proxy.h b/src/common/serialization/vst3/plugin-proxy.h index 25f9f127..593bb299 100644 --- a/src/common/serialization/vst3/plugin-proxy.h +++ b/src/common/serialization/vst3/plugin-proxy.h @@ -35,6 +35,7 @@ #include "plugin/note-expression-physical-ui-mapping.h" #include "plugin/plugin-base.h" #include "plugin/prefetchable-support.h" +#include "plugin/process-context-requirements.h" #include "plugin/program-list-data.h" #include "plugin/unit-data.h" #include "plugin/unit-info.h" @@ -82,6 +83,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, public YaNoteExpressionPhysicalUIMapping, public YaPluginBase, public YaPrefetchableSupport, + public YaProcessContextRequirements, public YaProgramListData, public YaUnitData, public YaUnitInfo, @@ -124,6 +126,8 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, note_expression_physical_ui_mapping_args; YaPluginBase::ConstructArgs plugin_base_args; YaPrefetchableSupport::ConstructArgs prefetchable_support_args; + YaProcessContextRequirements::ConstructArgs + process_context_requirements_args; YaProgramListData::ConstructArgs program_list_data_args; YaUnitData::ConstructArgs unit_data_args; YaUnitInfo::ConstructArgs unit_info_args; @@ -149,6 +153,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, s.object(note_expression_physical_ui_mapping_args); s.object(plugin_base_args); s.object(prefetchable_support_args); + s.object(process_context_requirements_args); s.object(program_list_data_args); s.object(unit_data_args); s.object(unit_info_args); diff --git a/src/plugin/bridges/vst3-impls/plug-view-proxy.h b/src/plugin/bridges/vst3-impls/plug-view-proxy.h index 56b2739d..33229dae 100644 --- a/src/plugin/bridges/vst3-impls/plug-view-proxy.h +++ b/src/plugin/bridges/vst3-impls/plug-view-proxy.h @@ -63,7 +63,7 @@ class Vst3PlugViewProxyImpl : public Vst3PlugViewProxy { int32 yPos, Steinberg::Vst::ParamID& resultTag /*out*/) override; - // From `iplugviewcontentscalesupport` + // From `IPlugViewContentScaleSupport` tresult PLUGIN_API setContentScaleFactor(ScaleFactor factor) override; /** diff --git a/src/plugin/bridges/vst3-impls/plugin-proxy.cpp b/src/plugin/bridges/vst3-impls/plugin-proxy.cpp index de06b6ae..a65660cd 100644 --- a/src/plugin/bridges/vst3-impls/plugin-proxy.cpp +++ b/src/plugin/bridges/vst3-impls/plugin-proxy.cpp @@ -728,6 +728,14 @@ tresult PLUGIN_API Vst3PluginProxyImpl::getPrefetchableSupport( return response.result; } +uint32 PLUGIN_API Vst3PluginProxyImpl::getProcessContextRequirements() { + // TODO: Implement + bridge.logger.log( + "TODO: Implement " + "IProcessContextRequirements::getProcessContextRequirements()"); + return 0; +} + tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported( Steinberg::Vst::ProgramListID listId) { return bridge.send_message(YaProgramListData::ProgramDataSupported{ diff --git a/src/plugin/bridges/vst3-impls/plugin-proxy.h b/src/plugin/bridges/vst3-impls/plugin-proxy.h index d3d9bcea..520e5b21 100644 --- a/src/plugin/bridges/vst3-impls/plugin-proxy.h +++ b/src/plugin/bridges/vst3-impls/plugin-proxy.h @@ -211,6 +211,9 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy { tresult PLUGIN_API getPrefetchableSupport( Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) override; + // From `IProcessContextRequirements` + uint32 PLUGIN_API getProcessContextRequirements() override; + // From `IProgramListData` tresult PLUGIN_API programDataSupported(Steinberg::Vst::ProgramListID listId) override;