Fully implement IProcessContextRequirements

This commit is contained in:
Robbert van der Helm
2021-01-16 16:29:21 +01:00
parent 1ab9056a82
commit 9ddf4b2ae1
4 changed files with 15 additions and 5 deletions
+1
View File
@@ -120,6 +120,7 @@ using ControlRequest =
YaPluginBase::Terminate, YaPluginBase::Terminate,
YaPluginFactory::Construct, YaPluginFactory::Construct,
YaPluginFactory::SetHostContext, YaPluginFactory::SetHostContext,
YaProcessContextRequirements::GetProcessContextRequirements,
YaProgramListData::ProgramDataSupported, YaProgramListData::ProgramDataSupported,
YaProgramListData::GetProgramData, YaProgramListData::GetProgramData,
YaProgramListData::SetProgramData, YaProgramListData::SetProgramData,
@@ -729,11 +729,9 @@ tresult PLUGIN_API Vst3PluginProxyImpl::getPrefetchableSupport(
} }
uint32 PLUGIN_API Vst3PluginProxyImpl::getProcessContextRequirements() { uint32 PLUGIN_API Vst3PluginProxyImpl::getProcessContextRequirements() {
// TODO: Implement return bridge.send_message(
bridge.logger.log( YaProcessContextRequirements::GetProcessContextRequirements{
"TODO: Implement " .instance_id = instance_id()});
"IProcessContextRequirements::getProcessContextRequirements()");
return 0;
} }
tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported( tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported(
+9
View File
@@ -56,6 +56,7 @@ InstanceInterfaces::InstanceInterfaces(
plugin_base(object), plugin_base(object),
unit_data(object), unit_data(object),
prefetchable_support(object), prefetchable_support(object),
process_context_requirements(object),
program_list_data(object), program_list_data(object),
unit_info(object), unit_info(object),
xml_representation_controller(object) {} xml_representation_controller(object) {}
@@ -827,6 +828,14 @@ void Vst3Bridge::run() {
return object_instances[request.instance_id] return object_instances[request.instance_id]
.program_list_data->programDataSupported(request.list_id); .program_list_data->programDataSupported(request.list_id);
}, },
[&](const YaProcessContextRequirements::
GetProcessContextRequirements& request)
-> YaProcessContextRequirements::GetProcessContextRequirements::
Response {
return object_instances[request.instance_id]
.process_context_requirements
->getProcessContextRequirements();
},
[&](YaProgramListData::GetProgramData& request) [&](YaProgramListData::GetProgramData& request)
-> YaProgramListData::GetProgramData::Response { -> YaProgramListData::GetProgramData::Response {
const tresult result = const tresult result =
+2
View File
@@ -171,6 +171,8 @@ struct InstanceInterfaces {
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data; Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data;
Steinberg::FUnknownPtr<Steinberg::Vst::IPrefetchableSupport> Steinberg::FUnknownPtr<Steinberg::Vst::IPrefetchableSupport>
prefetchable_support; prefetchable_support;
Steinberg::FUnknownPtr<Steinberg::Vst::IProcessContextRequirements>
process_context_requirements;
Steinberg::FUnknownPtr<Steinberg::Vst::IProgramListData> program_list_data; Steinberg::FUnknownPtr<Steinberg::Vst::IProgramListData> program_list_data;
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitInfo> unit_info; Steinberg::FUnknownPtr<Steinberg::Vst::IUnitInfo> unit_info;
Steinberg::FUnknownPtr<Steinberg::Vst::IXmlRepresentationController> Steinberg::FUnknownPtr<Steinberg::Vst::IXmlRepresentationController>