diff options
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 043d72d128..9e9b530ce3 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -178,6 +178,7 @@ Session::Session (AudioEngine &eng, , _record_status (Disabled) , _transport_frame (0) , _session_range_location (0) + , _session_range_end_is_free (true) , _slave (0) , _silent (false) , _transport_speed (0) @@ -4389,13 +4390,19 @@ Session::maybe_update_session_range (framepos_t a, framepos_t b) _session_range_location->set_start (a); } - if (b > _session_range_location->end()) { + if (_session_range_end_is_free && (b > _session_range_location->end())) { _session_range_location->set_end (b); } } } void +Session::set_end_is_free (bool yn) +{ + _session_range_end_is_free = yn; +} + +void Session::playlist_ranges_moved (list<Evoral::RangeMove<framepos_t> > const & ranges) { for (list<Evoral::RangeMove<framepos_t> >::const_iterator i = ranges.begin(); i != ranges.end(); ++i) { |