From 27456b93adf1694b93a896ef8310ae0b97ddbea7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 2 Jun 2021 16:05:51 -0600 Subject: [PATCH] initial addition of Ripple All edit mode to GUI --- gtk2_ardour/editor.cc | 5 +++++ gtk2_ardour/editor_actions.cc | 1 + gtk2_ardour/editor_mouse.cc | 1 + 3 files changed, 7 insertions(+) diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 8d56b4d8c1..6252028703 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -212,6 +212,7 @@ static const gchar *_edit_mode_strings[] = { N_("Slide"), N_("Splice"), N_("Ripple"), + N_("Ripple All"), N_("Lock"), 0 }; @@ -3230,6 +3231,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)Ripple], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Ripple))); + edit_mode_selector.AddMenuElem (MenuElem (edit_mode_strings[(int)RippleAll], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) RippleAll))); edit_mode_selector.AddMenuElem (MenuElem (edit_mode_strings[(int)Lock], sigc::bind (sigc::mem_fun(*this, &Editor::edit_mode_selection_done), (EditMode) Lock))); /* Note: Splice was removed */ @@ -3691,6 +3693,9 @@ Editor::cycle_edit_mode () break; case Splice: case Ripple: + Config->set_edit_mode (RippleAll); + break; + case RippleAll: Config->set_edit_mode (Lock); break; case Lock: diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index c9e4e19de2..b7a228bc16 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -582,6 +582,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-ripple", _("Ripple"), bind (mem_fun (*this, &Editor::set_edit_mode), Ripple)); + ActionManager::register_action (editor_actions, "set-edit-ripple-all", _("Ripple All"), bind (mem_fun (*this, &Editor::set_edit_mode), RippleAll)); 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-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)); diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 162fed5e95..ad9ec54807 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -2583,6 +2583,7 @@ Editor::add_region_drag (ArdourCanvas::Item* item, GdkEvent*, RegionView* region _drags->add (new RegionSpliceDrag (this, item, region_view, selection->regions.by_layer())); break; case Ripple: + case RippleAll: _drags->add (new RegionRippleDrag (this, item, region_view, selection->regions.by_layer())); break; default: