summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-10-07 21:11:19 +0000
committerDavid Robillard <d@drobilla.net>2011-10-07 21:11:19 +0000
commit8be2e11c653031f2a367cf7c7b6f2320d935684c (patch)
tree8e51759d00e8335a818e7e9e6739c366b7f68a55 /gtk2_ardour/midi_region_view.cc
parent1567d362ad42a8a38b62c03fbf1d2fecdfd0937c (diff)
Implement range selecting for MIDI notes (#4087).
git-svn-id: svn://localhost/ardour2/branches/3.0@10199 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 50eda1023b..474db10eb3 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -2028,6 +2028,19 @@ MidiRegionView::select_all_notes ()
}
void
+MidiRegionView::select_range (framepos_t start, framepos_t end)
+{
+ clear_selection ();
+
+ for (Events::iterator i = _events.begin(); i != _events.end(); ++i) {
+ framepos_t t = source_beats_to_absolute_frames((*i)->note()->time());
+ if (t >= start && t <= end) {
+ add_to_selection (*i);
+ }
+ }
+}
+
+void
MidiRegionView::invert_selection ()
{
for (Events::iterator i = _events.begin(); i != _events.end(); ++i) {