From f111f200c189eb8788ced33d0764b51b1383a03a Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 22 Mar 2024 04:37:53 +0100 Subject: [PATCH] Fix signal analysis when buffer-size changes PI::signal-analysis buffers were not updated when a user changes the buffersize. This also remove a single use Session API. --- libs/ardour/ardour/session.h | 2 -- libs/ardour/plugin_insert.cc | 4 ++-- libs/ardour/session.cc | 8 -------- 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 8360596e91..c94cfdbab1 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1195,8 +1195,6 @@ public: gain_t* scratch_automation_buffer () const; pan_t** pan_automation_buffer () const; - void ensure_buffer_set (BufferSet& buffers, const ChanCount& howmany); - /* VST support */ static int vst_current_loading_id; diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 22e0cfd293..e69f67ea06 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -2230,10 +2230,10 @@ PluginInsert::configure_io (ChanCount in, ChanCount out) ChanCount cc_analysis_in (DataType::AUDIO, in.n_audio()); ChanCount cc_analysis_out (DataType::AUDIO, out.n_audio()); - session().ensure_buffer_set (_signal_analysis_inputs, cc_analysis_in); + _signal_analysis_inputs.ensure_buffers (cc_analysis_in, 8192); _signal_analysis_inputs.set_count (cc_analysis_in); - session().ensure_buffer_set (_signal_analysis_outputs, cc_analysis_out); + _signal_analysis_outputs.ensure_buffers (cc_analysis_out, 8192); _signal_analysis_outputs.set_count (cc_analysis_out); // std::cerr << "set counts to i" << in.n_audio() << "/o" << out.n_audio() << std::endl; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 9c8a3ad5a5..69bb709c07 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -5857,14 +5857,6 @@ Session::ensure_buffers (ChanCount howmany) BufferManager::ensure_buffers (howmany, bounce_processing() ? bounce_chunk_size : 0); } -void -Session::ensure_buffer_set(BufferSet& buffers, const ChanCount& count) -{ - for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { - buffers.ensure_buffers(*t, count.get(*t), _engine.raw_buffer_size(*t)); - } -} - uint32_t Session::next_insert_id () {