mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Add stubs for IKeyswitchController
This commit is contained in:
@@ -29,6 +29,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
||||
edit_controller_args(object),
|
||||
edit_controller_2_args(object),
|
||||
edit_controller_host_editing_args(object),
|
||||
keyswitch_controller_args(object),
|
||||
midi_mapping_args(object),
|
||||
note_expression_controller_args(object),
|
||||
plugin_base_args(object),
|
||||
@@ -46,6 +47,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
YaEditController2(std::move(args.edit_controller_2_args)),
|
||||
YaEditControllerHostEditing(
|
||||
std::move(args.edit_controller_host_editing_args)),
|
||||
YaKeyswitchController(std::move(args.keyswitch_controller_args)),
|
||||
YaMidiMapping(std::move(args.midi_mapping_args)),
|
||||
YaNoteExpressionController(
|
||||
std::move(args.note_expression_controller_args)),
|
||||
@@ -114,6 +116,10 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
|
||||
Steinberg::Vst::IEditControllerHostEditing::iid,
|
||||
Steinberg::Vst::IEditControllerHostEditing)
|
||||
}
|
||||
if (YaKeyswitchController::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IKeyswitchController::iid,
|
||||
Steinberg::Vst::IKeyswitchController)
|
||||
}
|
||||
if (YaMidiMapping::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IMidiMapping::iid,
|
||||
Steinberg::Vst::IMidiMapping)
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "plugin/edit-controller-2.h"
|
||||
#include "plugin/edit-controller-host-editing.h"
|
||||
#include "plugin/edit-controller.h"
|
||||
#include "plugin/keyswitch-controller.h"
|
||||
#include "plugin/midi-mapping.h"
|
||||
#include "plugin/note-expression-controller.h"
|
||||
#include "plugin/plugin-base.h"
|
||||
@@ -66,6 +67,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
public YaEditController,
|
||||
public YaEditController2,
|
||||
public YaEditControllerHostEditing,
|
||||
public YaKeyswitchController,
|
||||
public YaMidiMapping,
|
||||
public YaNoteExpressionController,
|
||||
public YaPluginBase,
|
||||
@@ -99,6 +101,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
YaEditController2::ConstructArgs edit_controller_2_args;
|
||||
YaEditControllerHostEditing::ConstructArgs
|
||||
edit_controller_host_editing_args;
|
||||
YaKeyswitchController::ConstructArgs keyswitch_controller_args;
|
||||
YaMidiMapping::ConstructArgs midi_mapping_args;
|
||||
YaNoteExpressionController::ConstructArgs
|
||||
note_expression_controller_args;
|
||||
@@ -117,6 +120,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
s.object(edit_controller_args);
|
||||
s.object(edit_controller_2_args);
|
||||
s.object(edit_controller_host_editing_args);
|
||||
s.object(keyswitch_controller_args);
|
||||
s.object(midi_mapping_args);
|
||||
s.object(note_expression_controller_args);
|
||||
s.object(plugin_base_args);
|
||||
|
||||
@@ -463,6 +463,23 @@ Vst3PluginProxyImpl::endEditFromHost(Steinberg::Vst::ParamID paramID) {
|
||||
.instance_id = instance_id(), .param_id = paramID});
|
||||
}
|
||||
|
||||
int32 PLUGIN_API Vst3PluginProxyImpl::getKeyswitchCount(int32 busIndex,
|
||||
int16 channel) {
|
||||
// TODO: Implement
|
||||
bridge.logger.log("TODO: IKeyswitchController::getKeyswitchCount()");
|
||||
return Steinberg::kNotImplemented;
|
||||
}
|
||||
|
||||
tresult PLUGIN_API Vst3PluginProxyImpl::getKeyswitchInfo(
|
||||
int32 busIndex,
|
||||
int16 channel,
|
||||
int32 keySwitchIndex,
|
||||
Steinberg::Vst::KeyswitchInfo& info /*out*/) {
|
||||
// TODO: Implement
|
||||
bridge.logger.log("TODO: IKeyswitchController::getKeyswitchInfo()");
|
||||
return Steinberg::kNotImplemented;
|
||||
}
|
||||
|
||||
tresult PLUGIN_API Vst3PluginProxyImpl::getMidiControllerAssignment(
|
||||
int32 busIndex,
|
||||
int16 channel,
|
||||
|
||||
@@ -148,6 +148,14 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
|
||||
tresult PLUGIN_API
|
||||
endEditFromHost(Steinberg::Vst::ParamID paramID) override;
|
||||
|
||||
// From `IKeyswitchController`
|
||||
int32 PLUGIN_API getKeyswitchCount(int32 busIndex, int16 channel) override;
|
||||
tresult PLUGIN_API
|
||||
getKeyswitchInfo(int32 busIndex,
|
||||
int16 channel,
|
||||
int32 keySwitchIndex,
|
||||
Steinberg::Vst::KeyswitchInfo& info /*out*/) override;
|
||||
|
||||
// From `IMidiMapping`
|
||||
tresult PLUGIN_API
|
||||
getMidiControllerAssignment(int32 busIndex,
|
||||
|
||||
Reference in New Issue
Block a user