mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-09 20:29:10 +02:00
Fully implement IPrefetchableSupport
This commit is contained in:
@@ -163,7 +163,8 @@ using AudioProcessorRequest =
|
|||||||
YaComponent::GetBusInfo,
|
YaComponent::GetBusInfo,
|
||||||
YaComponent::GetRoutingInfo,
|
YaComponent::GetRoutingInfo,
|
||||||
YaComponent::ActivateBus,
|
YaComponent::ActivateBus,
|
||||||
YaComponent::SetActive>;
|
YaComponent::SetActive,
|
||||||
|
YaPrefetchableSupport::GetPrefetchableSupport>;
|
||||||
|
|
||||||
template <typename S>
|
template <typename S>
|
||||||
void serialize(S& s, AudioProcessorRequest& payload) {
|
void serialize(S& s, AudioProcessorRequest& payload) {
|
||||||
|
|||||||
@@ -675,10 +675,14 @@ tresult PLUGIN_API Vst3PluginProxyImpl::terminate() {
|
|||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::getPrefetchableSupport(
|
tresult PLUGIN_API Vst3PluginProxyImpl::getPrefetchableSupport(
|
||||||
Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) {
|
Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) {
|
||||||
// TODO: Implement
|
const GetPrefetchableSupportResponse response =
|
||||||
bridge.logger.log(
|
bridge.send_audio_processor_message(
|
||||||
"TODO: Implement IPrefetchableSupport::getPrefetchableSupport()");
|
YaPrefetchableSupport::GetPrefetchableSupport{.instance_id =
|
||||||
return Steinberg::kNotImplemented;
|
instance_id()});
|
||||||
|
|
||||||
|
prefetchable = response.prefetchable;
|
||||||
|
|
||||||
|
return response.result;
|
||||||
}
|
}
|
||||||
|
|
||||||
tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported(
|
tresult PLUGIN_API Vst3PluginProxyImpl::programDataSupported(
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ InstanceInterfaces::InstanceInterfaces(
|
|||||||
note_expression_controller(object),
|
note_expression_controller(object),
|
||||||
plugin_base(object),
|
plugin_base(object),
|
||||||
unit_data(object),
|
unit_data(object),
|
||||||
|
prefetchable_support(object),
|
||||||
program_list_data(object),
|
program_list_data(object),
|
||||||
unit_info(object),
|
unit_info(object),
|
||||||
xml_representation_controller(object) {}
|
xml_representation_controller(object) {}
|
||||||
@@ -1103,6 +1104,22 @@ size_t Vst3Bridge::register_object_instance(
|
|||||||
return object_instances[request.instance_id]
|
return object_instances[request.instance_id]
|
||||||
.component->setActive(request.state);
|
.component->setActive(request.state);
|
||||||
},
|
},
|
||||||
|
[&](const YaPrefetchableSupport::GetPrefetchableSupport&
|
||||||
|
request)
|
||||||
|
-> YaPrefetchableSupport::GetPrefetchableSupport::
|
||||||
|
Response {
|
||||||
|
Steinberg::Vst::PrefetchableSupport
|
||||||
|
prefetchable;
|
||||||
|
const tresult result =
|
||||||
|
object_instances[request.instance_id]
|
||||||
|
.prefetchable_support
|
||||||
|
->getPrefetchableSupport(prefetchable);
|
||||||
|
|
||||||
|
return YaPrefetchableSupport::
|
||||||
|
GetPrefetchableSupportResponse{
|
||||||
|
.result = result,
|
||||||
|
.prefetchable = prefetchable};
|
||||||
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -162,6 +162,8 @@ struct InstanceInterfaces {
|
|||||||
note_expression_controller;
|
note_expression_controller;
|
||||||
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
Steinberg::FUnknownPtr<Steinberg::IPluginBase> plugin_base;
|
||||||
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data;
|
Steinberg::FUnknownPtr<Steinberg::Vst::IUnitData> unit_data;
|
||||||
|
Steinberg::FUnknownPtr<Steinberg::Vst::IPrefetchableSupport>
|
||||||
|
prefetchable_support;
|
||||||
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>
|
||||||
|
|||||||
Reference in New Issue
Block a user