From ea30642ae3eac3706dbef1f70f8d13e8ebfec51d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 10 Jul 2019 23:39:02 -0600 Subject: resize audio port _data buffer based on current buffer size --- libs/ardour/port_manager.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'libs/ardour/port_manager.cc') diff --git a/libs/ardour/port_manager.cc b/libs/ardour/port_manager.cc index 8d9f47cf84..75d93af320 100644 --- a/libs/ardour/port_manager.cc +++ b/libs/ardour/port_manager.cc @@ -420,12 +420,13 @@ PortManager::register_port (DataType dtype, const string& portname, bool input, throw PortRegistrationFailure (string_compose ("unable to create port '%1': %2", portname, _("(unknown type)"))); } + newport->set_buffer_size (AudioEngine::instance()->samples_per_cycle()); + RCUWriter writer (ports); boost::shared_ptr ps = writer.get_copy (); ps->insert (make_pair (make_port_name_relative (portname), newport)); /* writer goes out of scope, forces update */ - } catch (PortRegistrationFailure& err) { @@ -1353,3 +1354,14 @@ PortManager::fill_midi_port_info_locked () midi_info_dirty = false; } + +void +PortManager::set_port_buffer_sizes (pframes_t n) +{ + + boost::shared_ptr all = ports.reader(); + + for (Ports::iterator p = all->begin(); p != all->end(); ++p) { + p->second->set_buffer_size (n); + } +} -- cgit v1.2.3