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