diff --git a/libs/ardour/ardour/vst3_plugin.h b/libs/ardour/ardour/vst3_plugin.h index bffdc462b2..265a26774d 100644 --- a/libs/ardour/ardour/vst3_plugin.h +++ b/libs/ardour/ardour/vst3_plugin.h @@ -201,7 +201,7 @@ public: void set_owner (ARDOUR::SessionObject* o); void set_non_realtime (bool); - void enable_io (std::vector const&, std::vector const&); + void enable_io (std::vector const&, std::vector const&, bool force = false); void process (float** ins, float** outs, uint32_t n_samples); diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index 8b63b21dc9..7889221503 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -112,7 +112,7 @@ VST3Plugin::init () } /* pre-configure from GUI thread */ - _plug->enable_io (_connected_inputs, _connected_outputs); + _plug->enable_io (_connected_inputs, _connected_outputs, true); } void @@ -2240,9 +2240,9 @@ VST3PI::set_event_bus_state (bool enable) } void -VST3PI::enable_io (std::vector const& ins, std::vector const& outs) +VST3PI::enable_io (std::vector const& ins, std::vector const& outs, bool force) { - if (_enabled_audio_in == ins && _enabled_audio_out == outs) { + if (_enabled_audio_in == ins && _enabled_audio_out == outs && !force) { return; }