diff options
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index b9bbff74d1..d1c1656ce3 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -2648,13 +2648,22 @@ MidiRegionView::goto_previous_note () } void -MidiRegionView::selection_as_notelist (Notes& selected) +MidiRegionView::selection_as_notelist (Notes& selected, bool allow_all_if_none_selected) { + bool had_selected = false; + time_sort_events (); for (Events::iterator i = _events.begin(); i != _events.end(); ++i) { if ((*i)->selected()) { selected.insert ((*i)->note()); + had_selected = true; + } + } + + if (allow_all_if_none_selected && !had_selected) { + for (Events::iterator i = _events.begin(); i != _events.end(); ++i) { + selected.insert ((*i)->note()); } } } |