mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-09 15:15:41 +01:00
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
1 changed files with 2 additions and 2 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue