summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2019-07-30 13:02:15 -0500
committerBen Loftis <ben@harrisonconsoles.com>2019-08-01 12:11:31 -0500
commitda3d8e54188691217956eb5c0e6671fe24bcd20f (patch)
tree82900ce20712110c13def4ccd9d191e1f716bc18
parent50786b3e5c42310396a6bf5d54744ea968995319 (diff)
(Source List) Implement insert-region action... now uses the Source List.
-rw-r--r--gtk2_ardour/ardour.keys.in2
-rw-r--r--gtk2_ardour/ardour.menus.in2
-rw-r--r--gtk2_ardour/editor.cc2
-rw-r--r--gtk2_ardour/editor.h2
-rw-r--r--gtk2_ardour/editor_actions.cc2
-rw-r--r--gtk2_ardour/editor_ops.cc5
-rw-r--r--gtk2_ardour/editor_selection.cc12
7 files changed, 18 insertions, 9 deletions
diff --git a/gtk2_ardour/ardour.keys.in b/gtk2_ardour/ardour.keys.in
index 50749ffa48..6a18ccd019 100644
--- a/gtk2_ardour/ardour.keys.in
+++ b/gtk2_ardour/ardour.keys.in
@@ -166,7 +166,7 @@ This mode provides many different operations on both regions and control points,
@edit|Editor/alternate-redo|<@PRIMARY@>y|redo
@select|Editor/select-all-between-cursors|<@PRIMARY@>u|all enclosed by edit range
@select|Editor/select-all-within-cursors|u|all present in edit range
-@eep|Region/insert-region-from-region-list|i|insert from region list
+@eep|Region/insert-region-from-source-list|i|insert from region list
@sess|Common/addExistingAudioFiles|<@PRIMARY@>i|import audio files
@gselect|Common/invert-selection|<@TERTIARY@>i|invert selection
@edtrk|Editor/toggle-midi-input-active|<@SECONDARY@>i|toggle sel. track MIDI input
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in
index b3a5be159e..4292448d2a 100644
--- a/gtk2_ardour/ardour.menus.in
+++ b/gtk2_ardour/ardour.menus.in
@@ -293,7 +293,7 @@
</menu>
<menu name='RegionMenu' action='RegionMenu'>
- <menuitem action='insert-region-from-region-list'/>
+ <menuitem action='insert-region-from-source-list'/>
<menuitem action='play-selected-regions'/>
<menuitem action='tag-selected-regions'/>
<menuitem action='loop-region'/>
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 2e2bba3c89..9f538d82c2 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -2041,7 +2041,7 @@ Editor::add_dstream_context_items (Menu_Helpers::MenuList& edit_items)
/* Adding new material */
edit_items.push_back (SeparatorElem());
- edit_items.push_back (MenuElem (_("Insert Selected Region"), sigc::bind (sigc::mem_fun(*this, &Editor::insert_region_list_selection), 1.0f)));
+ edit_items.push_back (MenuElem (_("Insert Selected Region"), sigc::bind (sigc::mem_fun(*this, &Editor::insert_source_list_selection), 1.0f)));
edit_items.push_back (MenuElem (_("Insert Existing Media"), sigc::bind (sigc::mem_fun(*this, &Editor::add_external_audio_action), ImportToTrack)));
/* Nudge track */
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 7747870125..cbe111fee6 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -1322,7 +1322,7 @@ private:
void temporal_zoom_by_sample (samplepos_t start, samplepos_t end);
void temporal_zoom_to_sample (bool coarser, samplepos_t sample);
- void insert_region_list_selection (float times);
+ void insert_source_list_selection (float times);
/* import & embed */
diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc
index 81e2eb9596..4ea3b59f9b 100644
--- a/gtk2_ardour/editor_actions.cc
+++ b/gtk2_ardour/editor_actions.cc
@@ -1559,7 +1559,7 @@ Editor::register_region_actions ()
/* PART 2: actions that are not related to the selection, but for which the edit point type and location is important */
-// register_region_action (_region_actions, RegionActionTarget (ListSelection), "insert-region-from-region-list", _("Insert Region from Region List"), sigc::bind (sigc::mem_fun (*this, &Editor::insert_region_list_selection), 1));
+ register_region_action (_region_actions, RegionActionTarget (ListSelection), "insert-region-from-source-list", _("Insert Region from Source List"), sigc::bind (sigc::mem_fun (*this, &Editor::insert_source_list_selection), 1));
/* PART 3: actions that operate on the selection and also require the edit point location */
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 24e1e0e80f..b182fbc894 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -84,6 +84,7 @@
#include "editor_cursors.h"
#include "editor_drag.h"
#include "editor_regions.h"
+#include "editor_sources.h"
#include "editor_routes.h"
#include "gui_thread.h"
#include "insert_remove_time_dialog.h"
@@ -2542,7 +2543,7 @@ Editor::unhide_ranges ()
/* INSERT/REPLACE */
void
-Editor::insert_region_list_selection (float times)
+Editor::insert_source_list_selection (float times)
{
RouteTimeAxisView *tv = 0;
boost::shared_ptr<Playlist> playlist;
@@ -2565,7 +2566,7 @@ Editor::insert_region_list_selection (float times)
return;
}
- boost::shared_ptr<Region> region = _regions->get_single_selection ();
+ boost::shared_ptr<Region> region = _sources->get_single_selection ();
if (region == 0) {
return;
}
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index e24c525abb..4075ddcac8 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -35,6 +35,7 @@
#include "editor.h"
#include "editor_drag.h"
#include "editor_routes.h"
+#include "editor_sources.h"
#include "actions.h"
#include "audio_time_axis.h"
#include "audio_region_view.h"
@@ -1214,6 +1215,7 @@ Editor::sensitize_the_right_region_actions (bool because_canvas_crossing)
bool have_selection = false;
bool have_entered = false;
bool have_edit_point = false;
+ bool have_selected_source = false;
RegionSelection rs;
// std::cerr << "STRRA: crossing ? " << because_canvas_crossing << " within ? " << within_track_canvas
@@ -1229,6 +1231,10 @@ Editor::sensitize_the_right_region_actions (bool because_canvas_crossing)
rs.add (entered_regionview);
}
+ if ( _sources->get_single_selection() ) {
+ have_selected_source = true;
+ }
+
if (rs.empty() && !selection->tracks.empty()) {
/* no selected regions, but some selected tracks.
@@ -1278,6 +1284,8 @@ Editor::sensitize_the_right_region_actions (bool because_canvas_crossing)
sensitive = true;
} else if ((tgt & EditPointRegions) && have_edit_point) {
sensitive = true;
+ } else if ((tgt & ListSelection) && have_selected_source ) {
+ sensitive = true;
}
x->second.action->set_sensitive (sensitive);
@@ -1507,9 +1515,9 @@ Editor::sensitize_the_right_region_actions (bool because_canvas_crossing)
/* XXX: should also check that there is a track of the appropriate type for the selected region */
#if 0
if (_edit_point == EditAtMouse || _regions->get_single_selection() == 0 || selection->tracks.empty()) {
- _region_actions->get_action("insert-region-from-region-list")->set_sensitive (false);
+ _region_actions->get_action("insert-region-from-source-list")->set_sensitive (false);
} else {
- _region_actions->get_action("insert-region-from-region-list")->set_sensitive (true);
+ _region_actions->get_action("insert-region-from-source-list")->set_sensitive (true);
}
#endif