Add stubs for IEditControllerHostEditing

This commit is contained in:
Robbert van der Helm
2021-01-08 16:18:45 +01:00
parent 66020f3056
commit eed068b9f7
6 changed files with 36 additions and 0 deletions
@@ -28,6 +28,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
connection_point_args(object), connection_point_args(object),
edit_controller_args(object), edit_controller_args(object),
edit_controller_2_args(object), edit_controller_2_args(object),
edit_controller_host_editing_args(object),
midi_mapping_args(object), midi_mapping_args(object),
note_expression_controller_args(object), note_expression_controller_args(object),
plugin_base_args(object), plugin_base_args(object),
@@ -43,6 +44,8 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
YaConnectionPoint(std::move(args.connection_point_args)), YaConnectionPoint(std::move(args.connection_point_args)),
YaEditController(std::move(args.edit_controller_args)), YaEditController(std::move(args.edit_controller_args)),
YaEditController2(std::move(args.edit_controller_2_args)), YaEditController2(std::move(args.edit_controller_2_args)),
YaEditControllerHostEditing(
std::move(args.edit_controller_host_editing_args)),
YaMidiMapping(std::move(args.midi_mapping_args)), YaMidiMapping(std::move(args.midi_mapping_args)),
YaNoteExpressionController( YaNoteExpressionController(
std::move(args.note_expression_controller_args)), std::move(args.note_expression_controller_args)),
@@ -106,6 +109,11 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IEditController2::iid, QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IEditController2::iid,
Steinberg::Vst::IEditController2) Steinberg::Vst::IEditController2)
} }
if (YaEditControllerHostEditing::supported()) {
QUERY_INTERFACE(_iid, obj,
Steinberg::Vst::IEditControllerHostEditing::iid,
Steinberg::Vst::IEditControllerHostEditing)
}
if (YaMidiMapping::supported()) { if (YaMidiMapping::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IMidiMapping::iid, QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IMidiMapping::iid,
Steinberg::Vst::IMidiMapping) Steinberg::Vst::IMidiMapping)
@@ -24,6 +24,7 @@
#include "plugin/component.h" #include "plugin/component.h"
#include "plugin/connection-point.h" #include "plugin/connection-point.h"
#include "plugin/edit-controller-2.h" #include "plugin/edit-controller-2.h"
#include "plugin/edit-controller-host-editing.h"
#include "plugin/edit-controller.h" #include "plugin/edit-controller.h"
#include "plugin/midi-mapping.h" #include "plugin/midi-mapping.h"
#include "plugin/note-expression-controller.h" #include "plugin/note-expression-controller.h"
@@ -64,6 +65,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
public YaConnectionPoint, public YaConnectionPoint,
public YaEditController, public YaEditController,
public YaEditController2, public YaEditController2,
public YaEditControllerHostEditing,
public YaMidiMapping, public YaMidiMapping,
public YaNoteExpressionController, public YaNoteExpressionController,
public YaPluginBase, public YaPluginBase,
@@ -95,6 +97,8 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
YaConnectionPoint::ConstructArgs connection_point_args; YaConnectionPoint::ConstructArgs connection_point_args;
YaEditController::ConstructArgs edit_controller_args; YaEditController::ConstructArgs edit_controller_args;
YaEditController2::ConstructArgs edit_controller_2_args; YaEditController2::ConstructArgs edit_controller_2_args;
YaEditControllerHostEditing::ConstructArgs
edit_controller_host_editing_args;
YaMidiMapping::ConstructArgs midi_mapping_args; YaMidiMapping::ConstructArgs midi_mapping_args;
YaNoteExpressionController::ConstructArgs YaNoteExpressionController::ConstructArgs
note_expression_controller_args; note_expression_controller_args;
@@ -112,6 +116,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
s.object(connection_point_args); s.object(connection_point_args);
s.object(edit_controller_args); s.object(edit_controller_args);
s.object(edit_controller_2_args); s.object(edit_controller_2_args);
s.object(edit_controller_host_editing_args);
s.object(midi_mapping_args); s.object(midi_mapping_args);
s.object(note_expression_controller_args); s.object(note_expression_controller_args);
s.object(plugin_base_args); s.object(plugin_base_args);
@@ -451,6 +451,20 @@ tresult PLUGIN_API Vst3PluginProxyImpl::openAboutBox(TBool onlyCheck) {
.instance_id = instance_id(), .only_check = onlyCheck}); .instance_id = instance_id(), .only_check = onlyCheck});
} }
tresult PLUGIN_API
Vst3PluginProxyImpl::beginEditFromHost(Steinberg::Vst::ParamID paramID) {
// TODO: Implement
bridge.logger.log("TODO: IEditControllerHostEditing::beginEditFromhost()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API
Vst3PluginProxyImpl::endEditFromHost(Steinberg::Vst::ParamID paramID) {
// TODO: Implement
bridge.logger.log("TODO: IEditControllerHostEditing::endEditFromhost()");
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment( tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment(
int32 busIndex, int32 busIndex,
int16 channel, int16 channel,
@@ -142,6 +142,12 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
tresult PLUGIN_API openHelp(TBool onlyCheck) override; tresult PLUGIN_API openHelp(TBool onlyCheck) override;
tresult PLUGIN_API openAboutBox(TBool onlyCheck) override; tresult PLUGIN_API openAboutBox(TBool onlyCheck) override;
// From `IEditControllerHostEditing`
tresult PLUGIN_API
beginEditFromHost(Steinberg::Vst::ParamID paramID) override;
tresult PLUGIN_API
endEditFromHost(Steinberg::Vst::ParamID paramID) override;
// From `IMidiMapping` // From `IMidiMapping`
tresult PLUGIN_API tresult PLUGIN_API
getMidiControllerAssignment(int32 busIndex, getMidiControllerAssignment(int32 busIndex,
+1
View File
@@ -43,6 +43,7 @@ InstanceInterfaces::InstanceInterfaces(
connection_point(object), connection_point(object),
edit_controller(object), edit_controller(object),
edit_controller_2(object), edit_controller_2(object),
edit_controller_host_editing(object),
midi_mapping(object), midi_mapping(object),
note_expression_controller(object), note_expression_controller(object),
plugin_base(object), plugin_base(object),
+2
View File
@@ -152,6 +152,8 @@ struct InstanceInterfaces {
Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint> connection_point; Steinberg::FUnknownPtr<Steinberg::Vst::IConnectionPoint> connection_point;
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController> edit_controller; Steinberg::FUnknownPtr<Steinberg::Vst::IEditController> edit_controller;
Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2; Steinberg::FUnknownPtr<Steinberg::Vst::IEditController2> edit_controller_2;
Steinberg::FUnknownPtr<Steinberg::Vst::IEditControllerHostEditing>
edit_controller_host_editing;
Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping; Steinberg::FUnknownPtr<Steinberg::Vst::IMidiMapping> midi_mapping;
Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController> Steinberg::FUnknownPtr<Steinberg::Vst::INoteExpressionController>
note_expression_controller; note_expression_controller;