mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-14 20:40:03 +02:00
Implement IUnitData
With this all VST 3.0.0 interfaces are finally supported.
This commit is contained in:
@@ -29,6 +29,7 @@ Vst3PluginProxy::ConstructArgs::ConstructArgs(
|
||||
edit_controller_2_args(object),
|
||||
plugin_base_args(object),
|
||||
program_list_data_args(object),
|
||||
unit_data_args(object),
|
||||
unit_info_args(object) {}
|
||||
|
||||
Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
@@ -39,6 +40,7 @@ Vst3PluginProxy::Vst3PluginProxy(const ConstructArgs&& args)
|
||||
YaEditController2(std::move(args.edit_controller_2_args)),
|
||||
YaPluginBase(std::move(args.plugin_base_args)),
|
||||
YaProgramListData(std::move(args.program_list_data_args)),
|
||||
YaUnitData(std::move(args.unit_data_args)),
|
||||
YaUnitInfo(std::move(args.unit_info_args)),
|
||||
arguments(std::move(args)){FUNKNOWN_CTOR}
|
||||
|
||||
@@ -95,6 +97,10 @@ tresult PLUGIN_API Vst3PluginProxy::queryInterface(Steinberg::FIDString _iid,
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IProgramListData::iid,
|
||||
Steinberg::Vst::IProgramListData)
|
||||
}
|
||||
if (YaUnitData::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitData::iid,
|
||||
Steinberg::Vst::IUnitData)
|
||||
}
|
||||
if (YaUnitInfo::supported()) {
|
||||
QUERY_INTERFACE(_iid, obj, Steinberg::Vst::IUnitInfo::iid,
|
||||
Steinberg::Vst::IUnitInfo)
|
||||
|
||||
@@ -62,6 +62,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
||||
public YaEditController2,
|
||||
public YaPluginBase,
|
||||
public YaProgramListData,
|
||||
public YaUnitData,
|
||||
public YaUnitInfo {
|
||||
public:
|
||||
/**
|
||||
@@ -88,6 +89,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
||||
YaEditController2::ConstructArgs edit_controller_2_args;
|
||||
YaPluginBase::ConstructArgs plugin_base_args;
|
||||
YaProgramListData::ConstructArgs program_list_data_args;
|
||||
YaUnitData::ConstructArgs unit_data_args;
|
||||
YaUnitInfo::ConstructArgs unit_info_args;
|
||||
|
||||
template <typename S>
|
||||
@@ -100,6 +102,7 @@ class Vst3PluginProxy : public YaAudioProcessor,
|
||||
s.object(edit_controller_2_args);
|
||||
s.object(plugin_base_args);
|
||||
s.object(program_list_data_args);
|
||||
s.object(unit_data_args);
|
||||
s.object(unit_info_args);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user