mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-06-21 03:13:56 +02:00
Add stubs for IProgramListData
This commit is contained in:
@@ -28,6 +28,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
|||||||
edit_controller_args(object),
|
edit_controller_args(object),
|
||||||
edit_controller_2_args(object),
|
edit_controller_2_args(object),
|
||||||
plugin_base_args(object),
|
plugin_base_args(object),
|
||||||
|
program_list_data_args(object),
|
||||||
unit_info_args(object) {}
|
unit_info_args(object) {}
|
||||||
|
|
||||||
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||||
@@ -37,6 +38,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& 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)),
|
||||||
YaPluginBase(std::move(args.plugin_base_args)),
|
YaPluginBase(std::move(args.plugin_base_args)),
|
||||||
|
YaProgramListData(std::move(args.program_list_data_args)),
|
||||||
YaUnitInfo(std::move(args.unit_info_args)),
|
YaUnitInfo(std::move(args.unit_info_args)),
|
||||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||||
|
|
||||||
@@ -89,6 +91,10 @@ 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 (YaProgramListData::supported()) {
|
||||||
|
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
|
||||||
|
Steinberg::Vst::IProgramListData)
|
||||||
|
}
|
||||||
if (YaUnitInfo::supported()) {
|
if (YaUnitInfo::supported()) {
|
||||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
|
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
|
||||||
Steinberg::Vst::IUnitInfo)
|
Steinberg::Vst::IUnitInfo)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include "plugin/edit-controller-2.h"
|
#include "plugin/edit-controller-2.h"
|
||||||
#include "plugin/edit-controller.h"
|
#include "plugin/edit-controller.h"
|
||||||
#include "plugin/plugin-base.h"
|
#include "plugin/plugin-base.h"
|
||||||
|
#include "plugin/program-list-data.h"
|
||||||
#include "plugin/unit-info.h"
|
#include "plugin/unit-info.h"
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
@@ -59,6 +60,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
public YaEditController,
|
public YaEditController,
|
||||||
public YaEditController2,
|
public YaEditController2,
|
||||||
public YaPluginBase,
|
public YaPluginBase,
|
||||||
|
public YaProgramListData,
|
||||||
public YaUnitInfo {
|
public YaUnitInfo {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@@ -84,6 +86,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
YaEditController::ConstructArgs edit_controller_args;
|
YaEditController::ConstructArgs edit_controller_args;
|
||||||
YaEditController2::ConstructArgs edit_controller_2_args;
|
YaEditController2::ConstructArgs edit_controller_2_args;
|
||||||
YaPluginBase::ConstructArgs plugin_base_args;
|
YaPluginBase::ConstructArgs plugin_base_args;
|
||||||
|
YaProgramListData::ConstructArgs program_list_data_args;
|
||||||
YaUnitInfo::ConstructArgs unit_info_args;
|
YaUnitInfo::ConstructArgs unit_info_args;
|
||||||
|
|
||||||
template <typename S>
|
template <typename S>
|
||||||
@@ -95,6 +98,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
|||||||
s.object(edit_controller_args);
|
s.object(edit_controller_args);
|
||||||
s.object(edit_controller_2_args);
|
s.object(edit_controller_2_args);
|
||||||
s.object(plugin_base_args);
|
s.object(plugin_base_args);
|
||||||
|
s.object(program_list_data_args);
|
||||||
s.object(unit_info_args);
|
s.object(unit_info_args);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -444,6 +444,31 @@ tresult PLUGIN_API Vst3PluginProxyImpl::terminate() {
|
|||||||
YaPluginBase::Terminate{.instance_id = instance_id()});
|
YaPluginBase::Terminate{.instance_id = instance_id()});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported(
|
||||||
|
Steinberg::Vst::ProgramListID listId) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log("TODO: IProgramListData::programDataSupported");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API
|
||||||
|
Vst3PluginProxyImpl::getProgramData(Steinberg::Vst::ProgramListID listId,
|
||||||
|
int32 programIndex,
|
||||||
|
Steinberg::IBStream* data) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log("TODO: IProgramListData::getProgramData");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API
|
||||||
|
Vst3PluginProxyImpl::setProgramData(Steinberg::Vst::ProgramListID listId,
|
||||||
|
int32 programIndex,
|
||||||
|
Steinberg::IBStream* data) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log("TODO: IProgramListData::setProgramData");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|
||||||
int32 PLUGIN_API Vst3PluginProxyImpl::getUnitCount() {
|
int32 PLUGIN_API Vst3PluginProxyImpl::getUnitCount() {
|
||||||
return bridge.send_message(
|
return bridge.send_message(
|
||||||
YaUnitInfo::GetUnitCount{.instance_id = instance_id()});
|
YaUnitInfo::GetUnitCount{.instance_id = instance_id()});
|
||||||
|
|||||||
@@ -124,6 +124,16 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
|
|||||||
tresult PLUGIN_API initialize(FUnknown* context) override;
|
tresult PLUGIN_API initialize(FUnknown* context) override;
|
||||||
tresult PLUGIN_API terminate() override;
|
tresult PLUGIN_API terminate() override;
|
||||||
|
|
||||||
|
// From `IProgramListData`
|
||||||
|
tresult PLUGIN_API
|
||||||
|
programDataSupported(Steinberg::Vst::ProgramListID listId) override;
|
||||||
|
tresult PLUGIN_API getProgramData(Steinberg::Vst::ProgramListID listId,
|
||||||
|
int32 programIndex,
|
||||||
|
Steinberg::IBStream* data) override;
|
||||||
|
tresult PLUGIN_API setProgramData(Steinberg::Vst::ProgramListID listId,
|
||||||
|
int32 programIndex,
|
||||||
|
Steinberg::IBStream* data) override;
|
||||||
|
|
||||||
// From `IUnitInfo`
|
// From `IUnitInfo`
|
||||||
int32 PLUGIN_API getUnitCount() override;
|
int32 PLUGIN_API getUnitCount() override;
|
||||||
tresult PLUGIN_API
|
tresult PLUGIN_API
|
||||||
|
|||||||
Reference in New Issue
Block a user