summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_selection.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r--gtk2_ardour/editor_selection.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 482a778ae7..3212c93bb7 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -37,6 +37,7 @@
#include "control_point.h"
#include "editor_regions.h"
#include "editor_cursors.h"
+#include "midi_region_view.h"
#include "i18n.h"
@@ -1213,10 +1214,26 @@ Editor::select_all_in_track (Selection::Operation op)
}
void
+Editor::select_all_internal_edit (Selection::Operation op)
+{
+ /* currently limited to MIDI only */
+
+ for (MidiRegionSelection::iterator i = selection->midi_regions.begin(); i != selection->midi_regions.end(); ++i) {
+ MidiRegionView* mrv = *i;
+ mrv->select_all_notes ();
+ }
+}
+
+void
Editor::select_all (Selection::Operation op)
{
list<Selectable *> touched;
+ if (_internal_editing) {
+ select_all_internal_edit (op);
+ return;
+ }
+
for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
if ((*iter)->hidden()) {
continue;