From 7c081b458acaddfbfbe4b04b8c7c38c47f16f99b Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 12 Jan 2021 15:24:37 +0100 Subject: [PATCH] Add stubs for IPrefetchableSupport --- src/common/serialization/vst3/plugin-proxy.cpp | 2 ++ src/common/serialization/vst3/plugin-proxy.h | 4 ++++ src/plugin/bridges/vst3-impls/plugin-proxy.cpp | 8 ++++++++ src/plugin/bridges/vst3-impls/plugin-proxy.h | 4 ++++ 4 files changed, 18 insertions(+) diff --git a/src/common/serialization/vst3/plugin-proxy.cpp b/src/common/serialization/vst3/plugin-proxy.cpp index 9d335c91..730f244b 100644 --- a/src/common/serialization/vst3/plugin-proxy.cpp +++ b/src/common/serialization/vst3/plugin-proxy.cpp @@ -34,6 +34,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs( midi_mapping_args(object), note_expression_controller_args(object), plugin_base_args(object), + prefetchable_support_args(object), program_list_data_args(object), unit_data_args(object), unit_info_args(object), @@ -55,6 +56,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args) YaNoteExpressionController( std::move(args.note_expression_controller_args)), YaPluginBase(std::move(args.plugin_base_args)), + YaPrefetchableSupport(std::move(args.prefetchable_support_args)), YaProgramListData(std::move(args.program_list_data_args)), YaUnitData(std::move(args.unit_data_args)), YaUnitInfo(std::move(args.unit_info_args)), diff --git a/src/common/serialization/vst3/plugin-proxy.h b/src/common/serialization/vst3/plugin-proxy.h index c3ca28bd..7979eada 100644 --- a/src/common/serialization/vst3/plugin-proxy.h +++ b/src/common/serialization/vst3/plugin-proxy.h @@ -31,6 +31,7 @@ #include "plugin/midi-mapping.h" #include "plugin/note-expression-controller.h" #include "plugin/plugin-base.h" +#include "plugin/prefetchable-support.h" #include "plugin/program-list-data.h" #include "plugin/unit-data.h" #include "plugin/unit-info.h" @@ -74,6 +75,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, public YaMidiMapping, public YaNoteExpressionController, public YaPluginBase, + public YaPrefetchableSupport, public YaProgramListData, public YaUnitData, public YaUnitInfo, @@ -111,6 +113,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, YaNoteExpressionController::ConstructArgs note_expression_controller_args; YaPluginBase::ConstructArgs plugin_base_args; + YaPrefetchableSupport::ConstructArgs prefetchable_support_args; YaProgramListData::ConstructArgs program_list_data_args; YaUnitData::ConstructArgs unit_data_args; YaUnitInfo::ConstructArgs unit_info_args; @@ -132,6 +135,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency, s.object(midi_mapping_args); s.object(note_expression_controller_args); s.object(plugin_base_args); + s.object(prefetchable_support_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/plugin-proxy.cpp b/src/plugin/bridges/vst3-impls/plugin-proxy.cpp index f6707583..3b7c6a08 100644 --- a/src/plugin/bridges/vst3-impls/plugin-proxy.cpp +++ b/src/plugin/bridges/vst3-impls/plugin-proxy.cpp @@ -673,6 +673,14 @@ tresult PLUGIN_API Vst3PluginProxyImpl::terminate() { YaPluginBase::Terminate{.instance_id = instance_id()}); } +tresult PLUGIN_API Vst3PluginProxyImpl::getPrefetchableSupport( + Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) { + // TODO: Implement + bridge.logger.log( + "TODO: Implement IPrefetchableSupport::getPrefetchableSupport()"); + return Steinberg::kNotImplemented; +} + 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 a22d4db5..35f67d78 100644 --- a/src/plugin/bridges/vst3-impls/plugin-proxy.h +++ b/src/plugin/bridges/vst3-impls/plugin-proxy.h @@ -191,6 +191,10 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy { tresult PLUGIN_API initialize(FUnknown* context) override; tresult PLUGIN_API terminate() override; + // From `IPrefetchableSupport` + tresult PLUGIN_API getPrefetchableSupport( + Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) override; + // From `IProgramListData` tresult PLUGIN_API programDataSupported(Steinberg::Vst::ProgramListID listId) override;