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