mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Add stubs for IXmlRepresentationController
This commit is contained in:
@@ -35,7 +35,8 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
|||||||
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),
|
||||||
unit_info_args(object) {}
|
unit_info_args(object),
|
||||||
|
xml_representation_controller_args(object) {}
|
||||||
|
|
||||||
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||||
: YaAudioPresentationLatency(
|
: YaAudioPresentationLatency(
|
||||||
@@ -55,6 +56,8 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& 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)),
|
||||||
YaUnitInfo(std::move(args.unit_info_args)),
|
YaUnitInfo(std::move(args.unit_info_args)),
|
||||||
|
YaXmlRepresentationController(
|
||||||
|
std::move(args.xml_representation_controller_args)),
|
||||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||||
|
|
||||||
Vst3PluginProxy::~Vst3PluginProxy() {
|
Vst3PluginProxy::~Vst3PluginProxy() {
|
||||||
@@ -141,6 +144,11 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
|
|||||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
|
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
|
||||||
Steinberg::Vst::IUnitInfo)
|
Steinberg::Vst::IUnitInfo)
|
||||||
}
|
}
|
||||||
|
if (YaXmlRepresentationController::supported()) {
|
||||||
|
QUERY_INTERFACE(_iid, obj,
|
||||||
|
Steinberg::Vst::IXmlRepresentationController::iid,
|
||||||
|
Steinberg::Vst::IXmlRepresentationController)
|
||||||
|
}
|
||||||
|
|
||||||
*obj = nullptr;
|
*obj = nullptr;
|
||||||
return Steinberg::kNoInterface;
|
return Steinberg::kNoInterface;
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include "plugin/program-list-data.h"
|
#include "plugin/program-list-data.h"
|
||||||
#include "plugin/unit-data.h"
|
#include "plugin/unit-data.h"
|
||||||
#include "plugin/unit-info.h"
|
#include "plugin/unit-info.h"
|
||||||
|
#include "plugin/xml-representation-controller.h"
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
|
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
|
||||||
@@ -73,7 +74,8 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
|||||||
public YaPluginBase,
|
public YaPluginBase,
|
||||||
public YaProgramListData,
|
public YaProgramListData,
|
||||||
public YaUnitData,
|
public YaUnitData,
|
||||||
public YaUnitInfo {
|
public YaUnitInfo,
|
||||||
|
public YaXmlRepresentationController {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* These are the arguments for constructing a `Vst3PluginProxyImpl`.
|
* These are the arguments for constructing a `Vst3PluginProxyImpl`.
|
||||||
@@ -109,6 +111,8 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
|||||||
YaProgramListData::ConstructArgs program_list_data_args;
|
YaProgramListData::ConstructArgs program_list_data_args;
|
||||||
YaUnitData::ConstructArgs unit_data_args;
|
YaUnitData::ConstructArgs unit_data_args;
|
||||||
YaUnitInfo::ConstructArgs unit_info_args;
|
YaUnitInfo::ConstructArgs unit_info_args;
|
||||||
|
YaXmlRepresentationController::ConstructArgs
|
||||||
|
xml_representation_controller_args;
|
||||||
|
|
||||||
template <typename S>
|
template <typename S>
|
||||||
void serialize(S& s) {
|
void serialize(S& s) {
|
||||||
@@ -127,6 +131,7 @@ class Vst3PluginProxy : public YaAudioPresentationLatency,
|
|||||||
s.object(program_list_data_args);
|
s.object(program_list_data_args);
|
||||||
s.object(unit_data_args);
|
s.object(unit_data_args);
|
||||||
s.object(unit_info_args);
|
s.object(unit_info_args);
|
||||||
|
s.object(xml_representation_controller_args);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -788,3 +788,12 @@ Vst3PluginProxyImpl::setUnitProgramData(int32 listOrUnitId,
|
|||||||
.program_index = programIndex,
|
.program_index = programIndex,
|
||||||
.data = data});
|
.data = data});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tresult PLUGIN_API Vst3PluginProxyImpl::getXmlRepresentationStream(
|
||||||
|
Steinberg::Vst::RepresentationInfo& info /*in*/,
|
||||||
|
Steinberg::IBStream* stream /*out*/) {
|
||||||
|
// TODO: Implement
|
||||||
|
bridge.logger.log(
|
||||||
|
"TODO: IXmlRepresentationController::getXmlRepresentationStream()");
|
||||||
|
return Steinberg::kNotImplemented;
|
||||||
|
}
|
||||||
|
|||||||
@@ -244,6 +244,11 @@ class Vst3PluginProxyImpl : public Vst3PluginProxy {
|
|||||||
int32 programIndex,
|
int32 programIndex,
|
||||||
Steinberg::IBStream* data) override;
|
Steinberg::IBStream* data) override;
|
||||||
|
|
||||||
|
// From `IXmlRepresentationController`
|
||||||
|
tresult PLUGIN_API
|
||||||
|
getXmlRepresentationStream(Steinberg::Vst::RepresentationInfo& info /*in*/,
|
||||||
|
Steinberg::IBStream* stream /*out*/);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The component handler the host passed to us during
|
* The component handler the host passed to us during
|
||||||
* `IEditController::setComponentHandler()`. When the plugin makes a
|
* `IEditController::setComponentHandler()`. When the plugin makes a
|
||||||
|
|||||||
Reference in New Issue
Block a user