Add stubs for IPrefetchableSupport

This commit is contained in:
Robbert van der Helm
2021-01-12 15:24:37 +01:00
parent 8bcb3d7095
commit 7c081b458a
4 changed files with 18 additions and 0 deletions
@@ -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)),
@@ -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);
@@ -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{
@@ -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;