mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-16 16:33:55 +02:00
Add stubs for INoteExpressionController
This commit is contained in:
@@ -27,6 +27,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),
|
||||||
|
note_expression_controller_args(object),
|
||||||
plugin_base_args(object),
|
plugin_base_args(object),
|
||||||
program_list_data_args(object),
|
program_list_data_args(object),
|
||||||
unit_data_args(object),
|
unit_data_args(object),
|
||||||
@@ -38,6 +39,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)),
|
||||||
|
YaNoteExpressionController(
|
||||||
|
std::move(args.note_expression_controller_args)),
|
||||||
YaPluginBase(std::move(args.plugin_base_args)),
|
YaPluginBase(std::move(args.plugin_base_args)),
|
||||||
YaProgramListData(std::move(args.program_list_data_args)),
|
YaProgramListData(std::move(args.program_list_data_args)),
|
||||||
YaUnitData(std::move(args.unit_data_args)),
|
YaUnitData(std::move(args.unit_data_args)),
|
||||||
@@ -93,6 +96,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 (YaNoteExpressionController::supported()) {
|
||||||
|
QUERY_INTERFACE(_iid, obj,
|
||||||
|
Steinberg::Vst::INoteExpressionController::iid,
|
||||||
|
Steinberg::Vst::INoteExpressionController)
|
||||||
|
}
|
||||||
if (YaProgramListData::supported()) {
|
if (YaProgramListData::supported()) {
|
||||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
|
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
|
||||||
Steinberg::Vst::IProgramListData)
|
Steinberg::Vst::IProgramListData)
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#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.h"
|
#include "plugin/edit-controller.h"
|
||||||
|
#include "plugin/note-expression-controller.h"
|
||||||
#include "plugin/plugin-base.h"
|
#include "plugin/plugin-base.h"
|
||||||
#include "plugin/program-list-data.h"
|
#include "plugin/program-list-data.h"
|
||||||
#include "plugin/unit-data.h"
|
#include "plugin/unit-data.h"
|
||||||
@@ -60,6 +61,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
public YaConnectionPoint,
|
public YaConnectionPoint,
|
||||||
public YaEditController,
|
public YaEditController,
|
||||||
public YaEditController2,
|
public YaEditController2,
|
||||||
|
public YaNoteExpressionController,
|
||||||
public YaPluginBase,
|
public YaPluginBase,
|
||||||
public YaProgramListData,
|
public YaProgramListData,
|
||||||
public YaUnitData,
|
public YaUnitData,
|
||||||
@@ -87,6 +89,8 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
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;
|
||||||
|
YaNoteExpressionController::ConstructArgs
|
||||||
|
note_expression_controller_args;
|
||||||
YaPluginBase::ConstructArgs plugin_base_args;
|
YaPluginBase::ConstructArgs plugin_base_args;
|
||||||
YaProgramListData::ConstructArgs program_list_data_args;
|
YaProgramListData::ConstructArgs program_list_data_args;
|
||||||
YaUnitData::ConstructArgs unit_data_args;
|
YaUnitData::ConstructArgs unit_data_args;
|
||||||
@@ -100,6 +104,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
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(note_expression_controller_args);
|
||||||
s.object(plugin_base_args);
|
s.object(plugin_base_args);
|
||||||
s.object(program_list_data_args);
|
s.object(program_list_data_args);
|
||||||
s.object(unit_data_args);
|
s.object(unit_data_args);
|
||||||
|
|||||||
@@ -27,6 +27,9 @@
|
|||||||
/**
|
/**
|
||||||
* Wraps around `INoteExpressionController` for serialization purposes. This is
|
* Wraps around `INoteExpressionController` for serialization purposes. This is
|
||||||
* instantiated as part of `Vst3PluginProxy`.
|
* instantiated as part of `Vst3PluginProxy`.
|
||||||
|
*
|
||||||
|
* TODO: Check if these things are being called in the processing loop. If they
|
||||||
|
* are, handle them on the audio sockets.
|
||||||
*/
|
*/
|
||||||
class YaNoteExpressionController
|
class YaNoteExpressionController
|
||||||
: public Steinberg::Vst::INoteExpressionController {
|
: public Steinberg::Vst::INoteExpressionController {
|
||||||
|
|||||||
@@ -413,6 +413,51 @@ tresult PLUGIN_API Vst3PluginProxyImpl::openAboutBox(TBool onlyCheck) {
|
|||||||
.instance_id = instance_id(), .only_check = onlyCheck});
|
.instance_id = instance_id(), .only_check = onlyCheck});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int32 PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionCount(int32 busIndex,
|
||||||
|
int16 channel) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log(
|
||||||
|
"TODO: Implement INoteExpressionCOntroller::getNoteExpressionCount()");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionInfo(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
int32 noteExpressionIndex,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeInfo& info /*out*/) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log(
|
||||||
|
"TODO: Implement INoteExpressionCOntroller::getNoteExpressionInfo()");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionStringByValue(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeID id,
|
||||||
|
Steinberg::Vst::NoteExpressionValue valueNormalized /*in*/,
|
||||||
|
Steinberg::Vst::String128 string /*out*/) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log(
|
||||||
|
"TODO: Implement "
|
||||||
|
"INoteExpressionCOntroller::getNoteExpressionStringByValue()");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API Vst3PluginProxyImpl::getNoteExpressionValueByString(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeID id,
|
||||||
|
const Steinberg::Vst::TChar* string /*in*/,
|
||||||
|
Steinberg::Vst::NoteExpressionValue& valueNormalized /*out*/) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log(
|
||||||
|
"TODO: Implement "
|
||||||
|
"INoteExpressionCOntroller::getNoteExpressionValueByString()");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::initialize(FUnknown* context) {
|
tresult PLUGIN_API Vst3PluginProxyImpl::initialize(FUnknown* context) {
|
||||||
if (context) {
|
if (context) {
|
||||||
// We will create a proxy object that that supports all the same
|
// We will create a proxy object that that supports all the same
|
||||||
|
|||||||
@@ -120,6 +120,27 @@ 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 `INoteExpressionController`
|
||||||
|
int32 PLUGIN_API getNoteExpressionCount(int32 busIndex,
|
||||||
|
int16 channel) override;
|
||||||
|
tresult PLUGIN_API getNoteExpressionInfo(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
int32 noteExpressionIndex,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeInfo& info /*out*/) override;
|
||||||
|
tresult PLUGIN_API getNoteExpressionStringByValue(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeID id,
|
||||||
|
Steinberg::Vst::NoteExpressionValue valueNormalized /*in*/,
|
||||||
|
Steinberg::Vst::String128 string /*out*/) override;
|
||||||
|
tresult PLUGIN_API getNoteExpressionValueByString(
|
||||||
|
int32 busIndex,
|
||||||
|
int16 channel,
|
||||||
|
Steinberg::Vst::NoteExpressionTypeID id,
|
||||||
|
const Steinberg::Vst::TChar* string /*in*/,
|
||||||
|
Steinberg::Vst::NoteExpressionValue& valueNormalized /*out*/) override;
|
||||||
|
|
||||||
// From `IPluginBase`
|
// From `IPluginBase`
|
||||||
tresult PLUGIN_API initialize(FUnknown* context) override;
|
tresult PLUGIN_API initialize(FUnknown* context) override;
|
||||||
tresult PLUGIN_API terminate() override;
|
tresult PLUGIN_API terminate() override;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
connection_point(object),
|
connection_point(object),
|
||||||
edit_controller(object),
|
edit_controller(object),
|
||||||
edit_controller_2(object),
|
edit_controller_2(object),
|
||||||
|
note_expression_controller(object),
|
||||||
plugin_base(object),
|
plugin_base(object),
|
||||||
unit_data(object),
|
unit_data(object),
|
||||||
program_list_data(object),
|
program_list_data(object),
|
||||||
|
|||||||
@@ -114,6 +114,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::INoteExpressionController>
|
||||||
|
note_expression_controller;
|
||||||
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IProgramListData> program_list_data;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IProgramListData> program_list_data;
|
||||||
|
|||||||
Reference in New Issue
Block a user