Add stubs for INoteExpressionController

This commit is contained in:
Robbert van der Helm
2021-01-02 15:27:55 +01:00
parent c206d68b12
commit 8a4de7da53
7 changed files with 85 additions and 0 deletions
@@ -27,6 +27,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
connection_point_args(object),
edit_controller_args(object),
edit_controller_2_args(object),
note_expression_controller_args(object),
plugin_base_args(object),
program_list_data_args(object),
unit_data_args(object),
@@ -38,6 +39,8 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
YaConnectionPoint(std::move(args.connection_point_args)),
YaEditController(std::move(args.edit_controller_args)),
YaEditController2(std::move(args.edit_controller_2_args)),
YaNoteExpressionController(
std::move(args.note_expression_controller_args)),
YaPluginBase(std::move(args.plugin_base_args)),
YaProgramListData(std::move(args.program_list_data_args)),
YaUnitData(std::move(args.unit_data_args)),
@@ -93,6 +96,11 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IEditController2::iid,
Steinberg::Vst::IEditController2)
}
if (YaNoteExpressionController::supported()) {
QUERY_INTERFACE(_iid, obj,
Steinberg::Vst::INoteExpressionController::iid,
Steinberg::Vst::INoteExpressionController)
}
if (YaProgramListData::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
Steinberg::Vst::IProgramListData)
@@ -24,6 +24,7 @@
#include "plugin/connection-point.h"
#include "plugin/edit-controller-2.h"
#include "plugin/edit-controller.h"
#include "plugin/note-expression-controller.h"
#include "plugin/plugin-base.h"
#include "plugin/program-list-data.h"
#include "plugin/unit-data.h"
@@ -60,6 +61,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
public YaConnectionPoint,
public YaEditController,
public YaEditController2,
public YaNoteExpressionController,
public YaPluginBase,
public YaProgramListData,
public YaUnitData,
@@ -87,6 +89,8 @@ class Vst3PluginProxy : public YaAudioProcessor,
YaConnectionPoint::ConstructArgs connection_point_args;
YaEditController::ConstructArgs edit_controller_args;
YaEditController2::ConstructArgs edit_controller_2_args;
YaNoteExpressionController::ConstructArgs
note_expression_controller_args;
YaPluginBase::ConstructArgs plugin_base_args;
YaProgramListData::ConstructArgs program_list_data_args;
YaUnitData::ConstructArgs unit_data_args;
@@ -100,6 +104,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
s.object(connection_point_args);
s.object(edit_controller_args);
s.object(edit_controller_2_args);
s.object(note_expression_controller_args);
s.object(plugin_base_args);
s.object(program_list_data_args);
s.object(unit_data_args);
@@ -27,6 +27,9 @@
/**
* Wraps around `INoteExpressionController` for serialization purposes. This is
* instantiated as part of `Vst3PluginProxy`.
*
* TODO: Check if these things are being called in the processing loop. If they
* are, handle them on the audio sockets.
*/
class YaNoteExpressionController
: public Steinberg::Vst::INoteExpressionController {