Prevent session-range changes to create invalid loop ranges
When a session-range coincides with a loop-range location, moving the session-range also updates the loop-range. Keeping session and loop-range in sync can be useful if the whole session is looped. However markers are treated individually, so we need prevent invalid ranges. If session-start and loop-start coincide, but loop-end is before the end-marker, it is possible to move session-start beyond the loop-end.
This commit is contained in:
parent
3bcf75a35a
commit
f67e731a7f
@ -6523,7 +6523,7 @@ Session::start_time_changed (samplepos_t old)
|
||||
|
||||
Location* l = _locations->auto_loop_location ();
|
||||
|
||||
if (l && l->start() == old) {
|
||||
if (l && l->start() == old && l->end() > s->start()) {
|
||||
l->set_start (s->start(), true);
|
||||
}
|
||||
set_dirty ();
|
||||
@ -6543,7 +6543,7 @@ Session::end_time_changed (samplepos_t old)
|
||||
|
||||
Location* l = _locations->auto_loop_location ();
|
||||
|
||||
if (l && l->end() == old) {
|
||||
if (l && l->end() == old && l->start () < s->end()) {
|
||||
l->set_end (s->end(), true);
|
||||
}
|
||||
set_dirty ();
|
||||
|
Loading…
Reference in New Issue
Block a user