diff options
author | Robin Gareus <robin@gareus.org> | 2017-10-31 18:32:26 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-10-31 18:32:26 +0100 |
commit | 00a4ad712c2d5ac73f04b0f43906590b24a22fb6 (patch) | |
tree | c849d672536222bc173c0e6fbbe3d38739dcbaf8 /libs/ardour/route.cc | |
parent | 8e8168547bef7e404f70916fa3838cbe5c15bc62 (diff) |
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.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 12 |
1 files changed, 11 insertions, 1 deletions
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 |