From d5496de98aa27a56b6d97d4a508654f213acfcf0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 17 Sep 2020 21:06:07 +0200 Subject: [PATCH] VST3: use kOffline for freewheeling --- libs/ardour/vst3_plugin.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index f0eed845cd..e84b10faf3 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -554,7 +554,7 @@ VST3Plugin::connect_and_run (BufferSet& bufs, Vst::ProcessContext::kContTimeValid | Vst::ProcessContext::kSystemTimeValid | Vst::ProcessContext::kSmpteValid | Vst::ProcessContext::kProjectTimeMusicValid | Vst::ProcessContext::kBarPositionValid | Vst::ProcessContext::kTempoValid | Vst::ProcessContext::kTimeSigValid | Vst::ProcessContext::kClockValid; context.projectTimeSamples = start; - context.continousTimeSamples = _session.engine ().processed_samples (); + context.continousTimeSamples = _engine.processed_samples (); context.systemTime = g_get_monotonic_time (); { @@ -1331,7 +1331,7 @@ VST3PI::update_processor () } Vst::ProcessSetup setup; - setup.processMode = Vst::kRealtime; + setup.processMode = AudioEngine::instance()->freewheeling () ? Vst::kOffline : Vst::kRealtime; setup.symbolicSampleSize = Vst::kSample32; setup.maxSamplesPerBlock = _block_size; setup.sampleRate = _context.sampleRate; @@ -1780,7 +1780,7 @@ VST3PI::process (float** ins, float** outs, uint32_t n_samples) Vst::ProcessData data; data.numSamples = n_samples; - data.processMode = Vst::kRealtime; // or kOffline + data.processMode = AudioEngine::instance()->freewheeling () ? Vst::kOffline : Vst::kRealtime; data.symbolicSampleSize = Vst::kSample32; data.numInputs = used_bus_count (_n_aux_inputs, _n_inputs); data.numOutputs = used_bus_count (_n_aux_outputs, _n_outputs);