mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Add stubs for INoteExpressionPhysicalUIMapping
This commit is contained in:
@@ -6,7 +6,7 @@ for more information on how the serialization works.
|
||||
|
||||
The following interfaces are not yet implemented:
|
||||
|
||||
- Interfaces introduced after VST 3.6.8
|
||||
- Interfaces introduced after VST 3.6.11
|
||||
- The [Presonus extensions](https://presonussoftware.com/en_US/developer),
|
||||
although most of these things seem to overlap with newer VST3 interfaces
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
YaMidiMapping(std::move(args.midi_mapping_args)),
|
||||
YaNoteExpressionController(
|
||||
std::move(args.note_expression_controller_args)),
|
||||
YaNoteExpressionPhysicalUIMapping(
|
||||
std::move(args.note_expression_physical_ui_mapping_args)),
|
||||
YaPluginBase(std::move(args.plugin_base_args)),
|
||||
YaPrefetchableSupport(std::move(args.prefetchable_support_args)),
|
||||
YaProgramListData(std::move(args.program_list_data_args)),
|
||||
@@ -147,6 +149,11 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
|
||||
Steinberg::Vst::INoteExpressionController::iid,
|
||||
Steinberg::Vst::INoteExpressionController)
|
||||
}
|
||||
if (YaNoteExpressionPhysicalUIMapping::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj,
|
||||
Steinberg::Vst::INoteExpressionPhysicalUIMapping::iid,
|
||||
Steinberg::Vst::INoteExpressionPhysicalUIMapping)
|
||||
}
|
||||
if (YaPrefetchableSupport::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IPrefetchableSupport::iid,
|
||||
Steinberg::Vst::IPrefetchableSupport)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "plugin/keyswitch-controller.h"
|
||||
#include "plugin/midi-mapping.h"
|
||||
#include "plugin/note-expression-controller.h"
|
||||
#include "plugin/note-expression-physical-ui-mapping.h"
|
||||
#include "plugin/plugin-base.h"
|
||||
#include "plugin/prefetchable-support.h"
|
||||
#include "plugin/program-list-data.h"
|
||||
@@ -76,6 +77,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
public YaKeyswitchController,
|
||||
public YaMidiMapping,
|
||||
public YaNoteExpressionController,
|
||||
public YaNoteExpressionPhysicalUIMapping,
|
||||
public YaPluginBase,
|
||||
public YaPrefetchableSupport,
|
||||
public YaProgramListData,
|
||||
@@ -115,6 +117,8 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
YaMidiMapping::ConstructArgs midi_mapping_args;
|
||||
YaNoteExpressionController::ConstructArgs
|
||||
note_expression_controller_args;
|
||||
YaNoteExpressionPhysicalUIMapping::ConstructArgs
|
||||
note_expression_physical_ui_mapping_args;
|
||||
YaPluginBase::ConstructArgs plugin_base_args;
|
||||
YaPrefetchableSupport::ConstructArgs prefetchable_support_args;
|
||||
YaProgramListData::ConstructArgs program_list_data_args;
|
||||
@@ -138,6 +142,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
||||
s.object(keyswitch_controller_args);
|
||||
s.object(midi_mapping_args);
|
||||
s.object(note_expression_controller_args);
|
||||
s.object(note_expression_physical_ui_mapping_args);
|
||||
s.object(plugin_base_args);
|
||||
s.object(prefetchable_support_args);
|
||||
s.object(program_list_data_args);
|
||||
|
||||
@@ -660,6 +660,17 @@ tresult PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionValueByString(
|
||||
}
|
||||
}
|
||||
|
||||
tresult PLUGIN_API Vst3PluginProxyImpl::getPhysicalUIMapping(
|
||||
int32 busIndex,
|
||||
int16 channel,
|
||||
Steinberg::Vst::PhysicalUIMapList& list) {
|
||||
// TODO: Implement
|
||||
bridge.logger.log(
|
||||
"TODO: Implement "
|
||||
"INoteExpressionPhysicalUIMapping::getPhysicalUIMapping()");
|
||||
return Steinberg::kNotImplemented;
|
||||
}
|
||||
|
||||
tresult PLUGIN_API Vst3PluginProxyImpl::initialize(FUnknown* context) {
|
||||
if (context) {
|
||||
// We will create a proxy object that that supports all the same
|
||||
|
||||
@@ -191,6 +191,12 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
|
||||
const Steinberg::Vst::TChar* string /*in*/,
|
||||
Steinberg::Vst::NoteExpressionValue& valueNormalized /*out*/) override;
|
||||
|
||||
// From `INoteExpressionPhysicalUIMapping`
|
||||
tresult PLUGIN_API
|
||||
getPhysicalUIMapping(int32 busIndex,
|
||||
int16 channel,
|
||||
Steinberg::Vst::PhysicalUIMapList& list) override;
|
||||
|
||||
// From `IPluginBase`
|
||||
tresult PLUGIN_API initialize(FUnknown* context) override;
|
||||
tresult PLUGIN_API terminate() override;
|
||||
|
||||
Reference in New Issue
Block a user