From 2decaabb34f13b1c690d80697427fbc43bb215fc Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Tue, 12 Jan 2021 15:29:03 +0100 Subject: [PATCH] Add message structs for IPrefetchableSupport --- .../vst3/plugin/prefetchable-support.h | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/common/serialization/vst3/plugin/prefetchable-support.h b/src/common/serialization/vst3/plugin/prefetchable-support.h index b77c2c73..92c4808b 100644 --- a/src/common/serialization/vst3/plugin/prefetchable-support.h +++ b/src/common/serialization/vst3/plugin/prefetchable-support.h @@ -62,6 +62,37 @@ class YaPrefetchableSupport : public Steinberg::Vst::IPrefetchableSupport { inline bool supported() const { return arguments.supported; } + /** + * The response code and returned bus information for a call to + * `IPrefetchableSupport::getPrefetchableSupport(&prefetchable)`. + */ + struct GetPrefetchableSupportResponse { + UniversalTResult result; + Steinberg::Vst::PrefetchableSupport prefetchable; + + template + void serialize(S& s) { + s.object(result); + s.value4b(prefetchable); + } + }; + + /** + * Message to pass through a call to + * `IPrefetchableSupport::getPrefetchableSupport(&prefetchable)` to the Wine + * plugin host. + */ + struct GetPrefetchableSupport { + using Response = GetPrefetchableSupportResponse; + + native_size_t instance_id; + + template + void serialize(S& s) { + s.value8b(instance_id); + } + }; + virtual tresult PLUGIN_API getPrefetchableSupport( Steinberg::Vst::PrefetchableSupport& prefetchable /*out*/) override = 0;