Add stubs for IProgramListData

This commit is contained in:
Robbert van der Helm
2020-12-29 15:53:01 +01:00
parent c2f1722f14
commit 22269570d0
4 changed files with 45 additions and 0 deletions
@@ -28,6 +28,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
edit_controller_args(object),
edit_controller_2_args(object),
plugin_base_args(object),
program_list_data_args(object),
unit_info_args(object) {}
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
@@ -37,6 +38,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
YaEditController(std::move(args.edit_controller_args)),
YaEditController2(std::move(args.edit_controller_2_args)),
YaPluginBase(std::move(args.plugin_base_args)),
YaProgramListData(std::move(args.program_list_data_args)),
YaUnitInfo(std::move(args.unit_info_args)),
arguments(std::move(args)){FUNKNOWN_CTOR}
@@ -89,6 +91,10 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IEditController2::iid,
Steinberg::Vst::IEditController2)
}
if (YaProgramListData::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
Steinberg::Vst::IProgramListData)
}
if (YaUnitInfo::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
Steinberg::Vst::IUnitInfo)
@@ -25,6 +25,7 @@
#include "plugin/edit-controller-2.h"
#include "plugin/edit-controller.h"
#include "plugin/plugin-base.h"
#include "plugin/program-list-data.h"
#include "plugin/unit-info.h"
#pragma GCC diagnostic push
@@ -59,6 +60,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
public YaEditController,
public YaEditController2,
public YaPluginBase,
public YaProgramListData,
public YaUnitInfo {
public:
/**
@@ -84,6 +86,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
YaEditController::ConstructArgs edit_controller_args;
YaEditController2::ConstructArgs edit_controller_2_args;
YaPluginBase::ConstructArgs plugin_base_args;
YaProgramListData::ConstructArgs program_list_data_args;
YaUnitInfo::ConstructArgs unit_info_args;
template <typename S>
@@ -95,6 +98,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
s.object(edit_controller_args);
s.object(edit_controller_2_args);
s.object(plugin_base_args);
s.object(program_list_data_args);
s.object(unit_info_args);
}
};