mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 00:04:56 +01:00
change design of MidiRegionView::add_to_selection() so that the rubber-band select works again
Adding the first note trigged Editor::set_selected_midi_region_view() which cleared the (newly added to) selection
This commit is contained in:
parent
044be53616
commit
8556560eca
1 changed files with 9 additions and 5 deletions
|
|
@ -2440,14 +2440,14 @@ MidiRegionView::remove_from_selection (NoteBase* ev)
|
||||||
void
|
void
|
||||||
MidiRegionView::add_to_selection (NoteBase* ev)
|
MidiRegionView::add_to_selection (NoteBase* ev)
|
||||||
{
|
{
|
||||||
const bool selection_was_empty = _selection.empty();
|
Selection::iterator n = _selection.find (ev);
|
||||||
|
|
||||||
if (_selection.insert (ev).second) {
|
if (n != _selection.end()) {
|
||||||
ev->set_selected (true);
|
/* already selected */
|
||||||
start_playing_midi_note ((ev)->note());
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selection_was_empty) {
|
if (_selection.empty()) {
|
||||||
|
|
||||||
/* first note selected in this region, force Editor region
|
/* first note selected in this region, force Editor region
|
||||||
* selection to this region.
|
* selection to this region.
|
||||||
|
|
@ -2455,6 +2455,10 @@ MidiRegionView::add_to_selection (NoteBase* ev)
|
||||||
|
|
||||||
trackview.editor().set_selected_midi_region_view (*this);
|
trackview.editor().set_selected_midi_region_view (*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_selection.insert (n, ev);
|
||||||
|
ev->set_selected (true);
|
||||||
|
start_playing_midi_note ((ev)->note());
|
||||||
}
|
}
|
||||||
|
|
||||||
Temporal::Beats
|
Temporal::Beats
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue