Implement IAudioProcessor::getLatencySamples()

This commit is contained in:
Robbert van der Helm
2020-12-14 17:53:50 +01:00
parent 6979dafa06
commit 0f59d6429d
6 changed files with 39 additions and 3 deletions
+1
View File
@@ -72,6 +72,7 @@ using ControlRequest = std::variant<YaComponent::Construct,
YaComponent::SetBusArrangements,
YaComponent::GetBusArrangement,
YaComponent::CanProcessSampleSize,
YaComponent::GetLatencySamples,
YaPluginFactory::Construct,
YaPluginFactory::SetHostContext>;
+17
View File
@@ -522,6 +522,23 @@ class YaComponent : public Steinberg::Vst::IComponent,
virtual tresult PLUGIN_API
canProcessSampleSize(int32 symbolicSampleSize) override = 0;
/**
* Message to pass through a call to
* `IAudioProcessor::getLatencySamples()` to the Wine
* plugin host.
*/
struct GetLatencySamples {
using Response = PrimitiveWrapper<uint32>;
native_size_t instance_id;
template <typename S>
void serialize(S& s) {
s.value8b(instance_id);
}
};
virtual uint32 PLUGIN_API getLatencySamples() override = 0;
virtual tresult PLUGIN_API
setupProcessing(Steinberg::Vst::ProcessSetup& setup) override = 0;