Session-range behavior (gtk2 part)

* Both the session-start and session-end point should follow the is-free option
  * Rename the end-is-free option to session-range-is-free, to reflect that change
  * This fixes the problem: recording before the start marker would move the Start,
    even if the user had already fixed the End marker.
This commit is contained in:
Ben Loftis 2019-02-12 11:15:34 -06:00
parent 688bd28458
commit 3e442ae52b
3 changed files with 10 additions and 8 deletions

View File

@ -4688,7 +4688,7 @@ MarkerDrag::finished (GdkEvent* event, bool movement_occurred)
}
if (location->is_session_range()) {
_editor->session()->set_end_is_free (false);
_editor->session()->set_session_range_is_free (false);
}
}
}

View File

@ -441,7 +441,7 @@ Editor::nudge_forward (bool next, bool force_playhead)
loc->set_end (max_samplepos, false, true, divisions);
}
if (loc->is_session_range()) {
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
}
if (!in_command) {
@ -535,7 +535,7 @@ Editor::nudge_backward (bool next, bool force_playhead)
loc->set_end (loc->length(), false, true, get_grid_music_divisions(0));
}
if (loc->is_session_range()) {
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
}
if (!in_command) {
@ -2266,6 +2266,8 @@ Editor::set_session_start_from_playhead ()
commit_reversible_command ();
}
_session->set_session_range_is_free (false);
}
void
@ -2291,7 +2293,7 @@ Editor::set_session_end_from_playhead ()
commit_reversible_command ();
}
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
@ -6600,7 +6602,7 @@ Editor::set_session_extents_from_selection ()
commit_reversible_command ();
}
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
void

View File

@ -423,7 +423,7 @@ LocationEditRow::to_playhead_button_pressed (LocationPart part)
case LocEnd:
location->set_end (_session->transport_sample (), false, true,divisions);
if (location->is_session_range()) {
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
break;
default:
@ -472,13 +472,13 @@ LocationEditRow::clock_changed (LocationPart part)
case LocEnd:
location->set_end (end_clock.current_time(), false, true, divisions);
if (location->is_session_range()) {
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
break;
case LocLength:
location->set_end (location->start() + length_clock.current_duration(), false, true, divisions);
if (location->is_session_range()) {
_session->set_end_is_free (false);
_session->set_session_range_is_free (false);
}
default:
break;