From 5cbc5cc52a37f74927bca3889d2ac0bc10287a53 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 27 Sep 2020 20:30:44 +0200 Subject: [PATCH] VST3: setProcessing, setActive calls are optional --- libs/ardour/vst3_plugin.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index 93f53dbe00..2f455af865 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -1350,12 +1350,17 @@ VST3PI::deactivate () if (!_is_processing) { return true; } - if (_processor->setProcessing (false) != kResultOk) { + + tresult res = _processor->setProcessing (false); + if (!(res == kResultOk || res == kNotImplemented)) { return false; } - if (_component->setActive (false) != kResultOk) { + + res = _component->setActive (false); + if (!(res == kResultOk || res == kNotImplemented)) { return false; } + _is_processing = false; return true; } @@ -1367,13 +1372,16 @@ VST3PI::activate () return true; } - if (_component->setActive (true) != kResultOk) { + tresult res = _component->setActive (true); + if (!(res == kResultOk || res == kNotImplemented)) { return false; } - if (_processor->setProcessing (true) != kResultOk) { + res = _processor->setProcessing (true); + if (!(res == kResultOk || res == kNotImplemented)) { return false; } + _is_processing = true; return true; }