From d5464b39dbb181915cdb163c236f4aeec6f1d4ef Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 7 Dec 2025 19:09:26 +0100 Subject: [PATCH] VST3: handle edge-case when user removes optional aux ports --- libs/ardour/vst3_plugin.cc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index a588b298cc..fed21773de 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -354,18 +354,15 @@ VST3Plugin::reconfigure_io (ChanCount in, ChanCount aux_in, ChanCount out) DEBUG_TRACE (DEBUG::VST3Config, string_compose ("VST3Plugin::reconfigure_io in: %1 aux: %2 out: %3 ; n_in=%4 n_out=%5\n", in, aux_in, out, _plug->n_audio_inputs (), _plug->n_audio_outputs ())); - assert (_plug->n_audio_inputs () >= in.n_audio () + aux_in.n_audio ()); - assert (_plug->n_audio_outputs () >= out.n_audio ()); - _connected_inputs.clear (); _connected_inputs.resize (in.n_audio () + aux_in.n_audio ()); _connected_inputs.flip (); - _connected_inputs.resize (_plug->n_audio_inputs ()); + _connected_inputs.resize (std::max (_plug->n_audio_inputs (), in.n_audio () + aux_in.n_audio ())); _connected_outputs.clear (); _connected_outputs.resize (out.n_audio ()); _connected_outputs.flip (); - _connected_outputs.resize (_plug->n_audio_outputs ()); + _connected_outputs.resize (std::max (_plug->n_audio_outputs (), out.n_audio ())); _plug->enable_io (_connected_inputs, _connected_outputs); return true;