Add stubs for IComponentHandlerBusActivation

This commit is contained in:
Robbert van der Helm
2021-01-14 16:16:58 +01:00
parent f24632ac8f
commit bfdbfa9196
4 changed files with 30 additions and 0 deletions
@@ -25,6 +25,7 @@ Vst3ComponentHandlerProxy::ConstructArgs::ConstructArgs(
component_handler_args(object),
component_handler_2_args(object),
component_handler_3_args(object),
component_handler_bus_activation_args(object),
unit_handler_args(object),
unit_handler_2_args(object) {}
@@ -32,6 +33,8 @@ Vst3ComponentHandlerProxy::Vst3ComponentHandlerProxy(const ConstructArgs&& args)
: YaComponentHandler(std::move(args.component_handler_args)),
YaComponentHandler2(std::move(args.component_handler_2_args)),
YaComponentHandler3(std::move(args.component_handler_3_args)),
YaComponentHandlerBusActivation(
std::move(args.component_handler_bus_activation_args)),
YaUnitHandler(std::move(args.unit_handler_args)),
YaUnitHandler2(std::move(args.unit_handler_2_args)),
arguments(std::move(args)){FUNKNOWN_CTOR}
@@ -62,6 +65,11 @@ Vst3ComponentHandlerProxy::queryInterface(Steinberg::FIDString _iid,
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IComponentHandler3::iid,
Steinberg::Vst::IComponentHandler3)
}
if (YaComponentHandlerBusActivation::supported()) {
QUERY_INTERFACE(_iid, obj,
Steinberg::Vst::IComponentHandlerBusActivation::iid,
Steinberg::Vst::IComponentHandlerBusActivation)
}
if (YaUnitHandler::supported()) {
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitHandler::iid,
Steinberg::Vst::IUnitHandler)
@@ -19,6 +19,7 @@
#include "../common.h"
#include "component-handler/component-handler-2.h"
#include "component-handler/component-handler-3.h"
#include "component-handler/component-handler-bus-activation.h"
#include "component-handler/component-handler.h"
#include "component-handler/unit-handler-2.h"
#include "component-handler/unit-handler.h"
@@ -37,6 +38,7 @@
class Vst3ComponentHandlerProxy : public YaComponentHandler,
public YaComponentHandler2,
public YaComponentHandler3,
public YaComponentHandlerBusActivation,
public YaUnitHandler,
public YaUnitHandler2 {
public:
@@ -65,6 +67,8 @@ class Vst3ComponentHandlerProxy : public YaComponentHandler,
YaComponentHandler::ConstructArgs component_handler_args;
YaComponentHandler2::ConstructArgs component_handler_2_args;
YaComponentHandler3::ConstructArgs component_handler_3_args;
YaComponentHandlerBusActivation::ConstructArgs
component_handler_bus_activation_args;
YaUnitHandler::ConstructArgs unit_handler_args;
YaUnitHandler2::ConstructArgs unit_handler_2_args;
@@ -74,6 +78,7 @@ class Vst3ComponentHandlerProxy : public YaComponentHandler,
s.object(component_handler_args);
s.object(component_handler_2_args);
s.object(component_handler_3_args);
s.object(component_handler_bus_activation_args);
s.object(unit_handler_args);
s.object(unit_handler_2_args);
}
@@ -114,6 +114,17 @@ Vst3ComponentHandlerProxyImpl::createContextMenu(
}
}
tresult PLUGIN_API Vst3ComponentHandlerProxyImpl::requestBusActivation(
Steinberg::Vst::MediaType type,
Steinberg::Vst::BusDirection dir,
int32 index,
TBool state) {
// TODO: Implement
std::cerr << "TODO: IComponentHandlerBusActivation::requestBusActivation()"
<< std::endl;
return Steinberg::kNotImplemented;
}
tresult PLUGIN_API Vst3ComponentHandlerProxyImpl::notifyUnitSelection(
Steinberg::Vst::UnitID unitId) {
return bridge.send_message(YaUnitHandler::NotifyUnitSelection{
@@ -50,6 +50,12 @@ class Vst3ComponentHandlerProxyImpl : public Vst3ComponentHandlerProxy {
createContextMenu(Steinberg::IPlugView* plugView,
const Steinberg::Vst::ParamID* paramID) override;
// From `IComponentHandlerBusActivation`
tresult PLUGIN_API requestBusActivation(Steinberg::Vst::MediaType type,
Steinberg::Vst::BusDirection dir,
int32 index,
TBool state) override;
// From `IUnitHandler`
tresult PLUGIN_API
notifyUnitSelection(Steinberg::Vst::UnitID unitId) override;