Revert to old Lock mode (still called Lock).

Also make midi notes obey the snap delta modifire
This commit is contained in:
nick_m 2015-05-19 03:27:50 +10:00
parent aac167a19f
commit dc50730059
7 changed files with 27 additions and 22 deletions

View file

@ -195,7 +195,7 @@ static const gchar *_edit_mode_strings[] = {
N_("Slide"), N_("Slide"),
N_("Splice"), N_("Splice"),
N_("Ripple"), N_("Ripple"),
N_("Constrained"), N_("Lock"),
0 0
}; };
@ -3171,7 +3171,7 @@ Editor::build_edit_mode_menu ()
edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Slide], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Slide))); edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Slide], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Slide)));
// edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Splice], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Splice))); // edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Splice], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Splice)));
edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Ripple], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Ripple))); edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Ripple], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Ripple)));
edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Constrained], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Constrained))); edit_mode_selector.AddMenuElem (MenuElem ( edit_mode_strings[(int)Lock], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Lock)));
set_size_request_to_display_given_text (edit_mode_selector, edit_mode_strings, COMBO_TRIANGLE_WIDTH, 2); set_size_request_to_display_given_text (edit_mode_selector, edit_mode_strings, COMBO_TRIANGLE_WIDTH, 2);
} }
@ -3617,16 +3617,16 @@ Editor::cycle_edit_mode ()
switch (Config->get_edit_mode()) { switch (Config->get_edit_mode()) {
case Slide: case Slide:
if (Profile->get_sae()) { if (Profile->get_sae()) {
Config->set_edit_mode (Constrained); Config->set_edit_mode (Lock);
} else { } else {
Config->set_edit_mode (Ripple); Config->set_edit_mode (Ripple);
} }
break; break;
case Splice: case Splice:
case Ripple: case Ripple:
Config->set_edit_mode (Constrained); Config->set_edit_mode (Lock);
break; break;
case Constrained: case Lock:
Config->set_edit_mode (Slide); Config->set_edit_mode (Slide);
break; break;
} }

View file

@ -509,7 +509,7 @@ Editor::register_actions ()
// ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Splice)); // ActionManager::register_action (editor_actions, "set-edit-splice", _("Splice"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Splice));
ActionManager::register_action (editor_actions, "set-edit-ripple", _("Ripple"), bind (mem_fun (*this, &Editor::set_edit_mode), Ripple)); ActionManager::register_action (editor_actions, "set-edit-ripple", _("Ripple"), bind (mem_fun (*this, &Editor::set_edit_mode), Ripple));
ActionManager::register_action (editor_actions, "set-edit-slide", _("Slide"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Slide)); ActionManager::register_action (editor_actions, "set-edit-slide", _("Slide"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Slide));
ActionManager::register_action (editor_actions, "set-edit-constrained", S_("EditMode|Constrained"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Constrained)); ActionManager::register_action (editor_actions, "set-edit-lock", S_("EditMode|Lock"), sigc::bind (sigc::mem_fun (*this, &Editor::set_edit_mode), Lock));
ActionManager::register_action (editor_actions, "cycle-edit-mode", _("Cycle Edit Mode"), sigc::mem_fun (*this, &Editor::cycle_edit_mode)); ActionManager::register_action (editor_actions, "cycle-edit-mode", _("Cycle Edit Mode"), sigc::mem_fun (*this, &Editor::cycle_edit_mode));
ActionManager::register_action (editor_actions, X_("SnapTo"), _("Snap to")); ActionManager::register_action (editor_actions, X_("SnapTo"), _("Snap to"));

View file

@ -401,21 +401,25 @@ Drag::motion_handler (GdkEvent* event, bool from_autoscroll)
/* just changed */ /* just changed */
if (fabs (current_pointer_y() - _grab_y) > fabs (current_pointer_x() - _grab_x)) { if (fabs (current_pointer_y() - _grab_y) > fabs (current_pointer_x() - _grab_x)) {
if ((event->motion.state & Gdk::BUTTON2_MASK) || Config->get_edit_mode() == Constrained) { if ((event->motion.state & Gdk::BUTTON2_MASK) && Config->get_edit_mode() != Lock) {
_x_constrained = true; _x_constrained = true;
_y_constrained = false; _y_constrained = false;
} }
_initially_vertical = true; _initially_vertical = true;
} else { } else {
if ((event->motion.state & Gdk::BUTTON2_MASK) || Config->get_edit_mode() == Constrained) { if ((event->motion.state & Gdk::BUTTON2_MASK) && Config->get_edit_mode() != Lock) {
_x_constrained = false; _x_constrained = false;
_y_constrained = true; _y_constrained = true;
} }
_initially_vertical = false; _initially_vertical = false;
} }
if ((event->motion.state & Gdk::BUTTON2_MASK) && Config->get_edit_mode() == Constrained) { if (Config->get_edit_mode() == Lock) {
_x_constrained = false; if (event->button.state & Gdk::BUTTON2_MASK) {
_x_constrained = false;
} else {
_x_constrained = true;
}
_y_constrained = false; _y_constrained = false;
} }
} }
@ -635,7 +639,8 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, framepos_t* pending_r
} }
double dx = 0; double dx = 0;
bool x_move_allowed = !_x_constrained;
bool const x_move_allowed = !_x_constrained;
if ((*pending_region_position != _last_frame_position) && x_move_allowed) { if ((*pending_region_position != _last_frame_position) && x_move_allowed) {
@ -2389,7 +2394,7 @@ NoteResizeDrag::motion (GdkEvent* event, bool /*first_move*/)
MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*r); MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*r);
if (mrv) { if (mrv) {
double sd = 0.0; double sd = 0.0;
if (Keyboard::modifier_state_contains (event->button.state, Keyboard::TertiaryModifier)) { if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::snap_delta_modifier())) {
sd = _snap_delta; sd = _snap_delta;
} }
mrv->update_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd); mrv->update_resizing (nb, at_front, _drags->current_pointer_x() - grab_x(), relative, sd);
@ -2406,7 +2411,7 @@ NoteResizeDrag::finished (GdkEvent* event, bool /*movement_occurred*/)
assert (nb); assert (nb);
MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*r); MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*r);
double sd = 0.0; double sd = 0.0;
if (Keyboard::modifier_state_contains (event->button.state, Keyboard::TertiaryModifier)) { if (!Keyboard::modifier_state_equals (event->button.state, Keyboard::snap_delta_modifier())) {
sd = _snap_delta; sd = _snap_delta;
} }
if (mrv) { if (mrv) {

View file

@ -6960,7 +6960,7 @@ Editor::insert_time (
{ {
bool commit = false; bool commit = false;
if (Config->get_edit_mode() == Constrained) { if (Config->get_edit_mode() == Lock) {
return; return;
} }
@ -7133,8 +7133,8 @@ Editor::cut_time (framepos_t pos, framecnt_t frames, InsertTimeOption opt,
{ {
bool commit = false; bool commit = false;
if (Config->get_edit_mode() == Constrained) { if (Config->get_edit_mode() == Lock) {
error << (_("Cannot insert or delete time when in Constrained edit.")) << endmsg; error << (_("Cannot insert or delete time when in Lock edit.")) << endmsg;
return; return;
} }

View file

@ -352,7 +352,7 @@ namespace ARDOUR {
Slide, Slide,
Splice, Splice,
Ripple, Ripple,
Constrained Lock
}; };
enum RegionSelectionAfterSplit { enum RegionSelectionAfterSplit {

View file

@ -242,7 +242,7 @@ setup_enum_writer ()
REGISTER_ENUM (Slide); REGISTER_ENUM (Slide);
REGISTER_ENUM (Splice); REGISTER_ENUM (Splice);
REGISTER_ENUM (Ripple); // XXX do the old enum values have to stay in order? REGISTER_ENUM (Ripple); // XXX do the old enum values have to stay in order?
REGISTER_ENUM (Constrained); REGISTER_ENUM (Lock);
REGISTER (_EditMode); REGISTER (_EditMode);
/* /*
* Splice mode is undefined, undocumented, and basically fubar'ed * Splice mode is undefined, undocumented, and basically fubar'ed

View file

@ -425,8 +425,8 @@ ARDOUR::string_to_edit_mode (string str)
return Slide; return Slide;
} else if (str == _("Ripple")) { } else if (str == _("Ripple")) {
return Ripple; return Ripple;
} else if (str == _("Constrained")) { } else if (str == _("Lock")) {
return Constrained; return Lock;
} }
fatal << string_compose (_("programming error: unknown edit mode string \"%1\""), str) << endmsg; fatal << string_compose (_("programming error: unknown edit mode string \"%1\""), str) << endmsg;
abort(); /*NOTREACHED*/ abort(); /*NOTREACHED*/
@ -440,8 +440,8 @@ ARDOUR::edit_mode_to_string (EditMode mode)
case Slide: case Slide:
return _("Slide"); return _("Slide");
case Constrained: case Lock:
return _("Constrained"); return _("Lock");
case Ripple: case Ripple:
return _("Ripple"); return _("Ripple");