Add stubs for IProcessContextRequirements

This commit is contained in:
Robbert van der Helm
2021-01-16 16:08:23 +01:00
parent 4f416e135a
commit a2203cfef7
5 changed files with 25 additions and 1 deletions
@@ -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)
@@ -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);
@@ -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;
/**
@@ -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{
@@ -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;