From a0ba6e3dfb3458f012042524514cd622b4bcec49 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 1 Jul 2025 17:26:13 +0200 Subject: [PATCH] Cache BundleChannel nchannels, allow lock-free calls --- libs/ardour/ardour/bundle.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libs/ardour/ardour/bundle.h b/libs/ardour/ardour/bundle.h index c6e93edbca..b6cf231708 100644 --- a/libs/ardour/ardour/bundle.h +++ b/libs/ardour/ardour/bundle.h @@ -174,8 +174,18 @@ public: return bundle != other.bundle || channel != other.channel; } + ChanCount nchannels () const { + if (!_nchannels) { + _nchannels = bundle->nchannels (); + } + return _nchannels.value (); + } + std::shared_ptr bundle; int channel; ///< channel index, or -1 for "all" + +private: + mutable std::optional _nchannels; }; }