Control Points should not obey Lock Edit, which was intended to lock regions and notes at the time where they were recorded.
Control Points should ignore x_constraint which is set in Drag::motion and potentially other places. The only thing that should prevent CP sliding is can_slide which is false for the points at the ends of a region.
This commit is contained in:
parent
04104b68a6
commit
c62b6e0e3e
@ -4903,10 +4903,6 @@ ControlPointDrag::start_grab (GdkEvent* event, Gdk::Cursor* /*cursor*/)
|
|||||||
show_verbose_cursor_text (_point->line().get_verbose_cursor_string (fraction));
|
show_verbose_cursor_text (_point->line().get_verbose_cursor_string (fraction));
|
||||||
|
|
||||||
_pushing = Keyboard::modifier_state_equals (event->button.state, ArdourKeyboard::push_points_modifier ());
|
_pushing = Keyboard::modifier_state_equals (event->button.state, ArdourKeyboard::push_points_modifier ());
|
||||||
|
|
||||||
if (!_point->can_slide ()) {
|
|
||||||
_x_constrained = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -4931,7 +4927,7 @@ ControlPointDrag::motion (GdkEvent* event, bool first_motion)
|
|||||||
// positive side of zero
|
// positive side of zero
|
||||||
double const zero_gain_y = (1.0 - _zero_gain_fraction) * _point->line().height() - .01;
|
double const zero_gain_y = (1.0 - _zero_gain_fraction) * _point->line().height() - .01;
|
||||||
|
|
||||||
if (_x_constrained) {
|
if (!_point->can_slide ()) {
|
||||||
cx = _fixed_grab_x;
|
cx = _fixed_grab_x;
|
||||||
}
|
}
|
||||||
if (_y_constrained) {
|
if (_y_constrained) {
|
||||||
@ -4952,7 +4948,7 @@ ControlPointDrag::motion (GdkEvent* event, bool first_motion)
|
|||||||
|
|
||||||
MusicSample cx_mf (_editor->pixel_to_sample (cx) + snap_delta (event->button.state), 0);
|
MusicSample cx_mf (_editor->pixel_to_sample (cx) + snap_delta (event->button.state), 0);
|
||||||
|
|
||||||
if (!_x_constrained && need_snap) {
|
if (need_snap) {
|
||||||
_editor->snap_to_with_modifier (cx_mf, event);
|
_editor->snap_to_with_modifier (cx_mf, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user