GUI side of : once the user has explicitly set the session range end, playlist/range changes do not move it.
The user may drag the marker, edit in the Location UI, or use nudge, to set the end
This commit is contained in:
parent
472ef8c55c
commit
774ad0752a
|
@ -4244,6 +4244,10 @@ MarkerDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
} else {
|
} else {
|
||||||
location->set (((*x).location)->start(), ((*x).location)->end());
|
location->set (((*x).location)->start(), ((*x).location)->end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (location->is_session_range()) {
|
||||||
|
_editor->session()->set_end_is_free (false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -433,6 +433,9 @@ Editor::nudge_forward (bool next, bool force_playhead)
|
||||||
} else {
|
} else {
|
||||||
loc->set_end (max_framepos);
|
loc->set_end (max_framepos);
|
||||||
}
|
}
|
||||||
|
if (loc->is_session_range()) {
|
||||||
|
_session->set_end_is_free (false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!in_command) {
|
if (!in_command) {
|
||||||
begin_reversible_command (_("nudge location forward"));
|
begin_reversible_command (_("nudge location forward"));
|
||||||
|
@ -524,6 +527,9 @@ Editor::nudge_backward (bool next, bool force_playhead)
|
||||||
} else {
|
} else {
|
||||||
loc->set_end (loc->length());
|
loc->set_end (loc->length());
|
||||||
}
|
}
|
||||||
|
if (loc->is_session_range()) {
|
||||||
|
_session->set_end_is_free (false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!in_command) {
|
if (!in_command) {
|
||||||
begin_reversible_command (_("nudge location forward"));
|
begin_reversible_command (_("nudge location forward"));
|
||||||
|
|
|
@ -420,6 +420,9 @@ LocationEditRow::to_playhead_button_pressed (LocationPart part)
|
||||||
break;
|
break;
|
||||||
case LocEnd:
|
case LocEnd:
|
||||||
location->set_end (_session->transport_frame ());
|
location->set_end (_session->transport_frame ());
|
||||||
|
if (location->is_session_range()) {
|
||||||
|
_session->set_end_is_free (false);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -464,9 +467,15 @@ LocationEditRow::clock_changed (LocationPart part)
|
||||||
break;
|
break;
|
||||||
case LocEnd:
|
case LocEnd:
|
||||||
location->set_end (end_clock.current_time());
|
location->set_end (end_clock.current_time());
|
||||||
|
if (location->is_session_range()) {
|
||||||
|
_session->set_end_is_free (false);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case LocLength:
|
case LocLength:
|
||||||
location->set_end (location->start() + length_clock.current_duration());
|
location->set_end (location->start() + length_clock.current_duration());
|
||||||
|
if (location->is_session_range()) {
|
||||||
|
_session->set_end_is_free (false);
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user