From 00a4ad712c2d5ac73f04b0f43906590b24a22fb6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 31 Oct 2017 18:32:26 +0100 Subject: Move Loop Location to Processors The processors will becomes responsible to know about loop-positions and map latency-compensated start_sample, end_sample into the loop-range as needed. --- libs/ardour/route.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'libs/ardour/route.cc') diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 29225404d9..6b1a73c088 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -108,6 +108,7 @@ Route::Route (Session& sess, string name, PresentationInfo::Flag flag, DataType , _declickable (false) , _have_internal_generator (false) , _default_type (default_type) + , _loop_location (NULL) , _track_number (0) , _strict_io (false) , _in_configure_processors (false) @@ -5881,6 +5882,16 @@ Route::set_disk_io_point (DiskIOPoint diop) processors_changed (RouteProcessorChange ()); /* EMIT SIGNAL */ } +int +Route::set_loop (Location* l) +{ + _loop_location = l; + Glib::Threads::RWLock::ReaderLock lm (_processor_lock); + for (ProcessorList::const_iterator i = _processors.begin(); i != _processors.end(); ++i) { + (*i)->set_loop (l); + } +} + #ifdef USE_TRACKS_CODE_FEATURES /* This is the Tracks version of Track::monitoring_state(). @@ -6039,5 +6050,4 @@ Route::monitoring_state () const abort(); /* NOTREACHED */ return MonitoringSilence; } - #endif -- cgit v1.2.3