From 4a43f5aa0bab591c3695c476e7983e3be35213c8 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 9 Feb 2021 10:11:30 -0700 Subject: [PATCH] newly-added InternalReturn processor requires a time domain (post-rebase on master) --- libs/ardour/ardour/internal_return.h | 2 +- libs/ardour/internal_return.cc | 4 ++-- libs/ardour/route.cc | 10 ++++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/libs/ardour/ardour/internal_return.h b/libs/ardour/ardour/internal_return.h index 46f63cf7f6..667a232588 100644 --- a/libs/ardour/ardour/internal_return.h +++ b/libs/ardour/ardour/internal_return.h @@ -34,7 +34,7 @@ class InternalSend; class LIBARDOUR_API InternalReturn : public Processor { public: - InternalReturn (Session&, std::string const& name = "Return"); + InternalReturn (Session&, Temporal::TimeDomain, std::string const& name = "Return"); void run (BufferSet& bufs, samplepos_t start_sample, samplepos_t end_sample, double speed, pframes_t nframes, bool); bool configure_io (ChanCount, ChanCount); diff --git a/libs/ardour/internal_return.cc b/libs/ardour/internal_return.cc index 54d107f1dc..10f8e9adda 100644 --- a/libs/ardour/internal_return.cc +++ b/libs/ardour/internal_return.cc @@ -28,8 +28,8 @@ using namespace std; using namespace ARDOUR; -InternalReturn::InternalReturn (Session& s, std::string const& name) - : Processor (s, name) +InternalReturn::InternalReturn (Session& s, Temporal::TimeDomain td, std::string const& name) + : Processor (s, name, td) { _display_to_user = false; } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index a92771d825..cc88b06ae8 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -270,7 +270,7 @@ Route::init () if (is_monitor()) { /* where we listen to tracks */ - _intreturn.reset (new MonitorReturn (_session)); + _intreturn.reset (new MonitorReturn (_session, time_domain())); _intreturn->activate (); /* the thing that provides proper control over a control/monitor/listen bus @@ -3097,11 +3097,13 @@ Route::set_processor_state (const XMLNode& node, int version) _intreturn->set_state (**niter, version); } else if (prop->value() == "intreturn") { if (!_intreturn) { + if (is_monitor ()) { - _intreturn.reset (new MonitorReturn (_session)); + _intreturn.reset (new MonitorReturn (_session, time_domain())); } else { - _intreturn.reset (new InternalReturn (_session)); + _intreturn.reset (new InternalReturn (_session, time_domain())); } + must_configure = true; } _intreturn->set_state (**niter, version); @@ -3315,7 +3317,7 @@ void Route::add_internal_return () { if (!_intreturn) { - _intreturn.reset (new InternalReturn (_session)); + _intreturn.reset (new InternalReturn (_session, time_domain())); add_processor (_intreturn, PreFader); } }