summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_selection.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-10-07 20:27:12 +0000
committerDavid Robillard <d@drobilla.net>2011-10-07 20:27:12 +0000
commit1567d362ad42a8a38b62c03fbf1d2fecdfd0937c (patch)
tree577643e95583058e269b5d4fb919d4856088e315 /gtk2_ardour/editor_selection.cc
parentbbcb8125b7bf0b90b32c8eb3c6f50c4dd3da10fc (diff)
Implement invert selection for MIDI notes (#4087).
git-svn-id: svn://localhost/ardour2/branches/3.0@10198 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_selection.cc')
-rw-r--r--gtk2_ardour/editor_selection.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 5875fffbfa..6e37868aa3 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -1231,8 +1231,6 @@ Editor::select_all_in_track (Selection::Operation op)
void
Editor::select_all_internal_edit (Selection::Operation)
{
- /* currently limited to MIDI only */
-
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*i);
if (mrv) {
@@ -1274,6 +1272,7 @@ Editor::select_all (Selection::Operation op)
}
commit_reversible_command ();
}
+
void
Editor::invert_selection_in_track ()
{
@@ -1292,6 +1291,16 @@ Editor::invert_selection ()
{
list<Selectable *> touched;
+ if (_internal_editing) {
+ for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
+ MidiRegionView* mrv = dynamic_cast<MidiRegionView*>(*i);
+ if (mrv) {
+ mrv->invert_selection ();
+ }
+ }
+ return;
+ }
+
for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
if ((*iter)->hidden()) {
continue;