summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_region_view.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-05-01 17:39:03 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-05-01 17:39:13 -0600
commit044be536168b0ae0dc44390ec3e58b60c4a9b613 (patch)
treef7748f0c6b331e390509a07fec7b2baa54ba9a9e /gtk2_ardour/midi_region_view.cc
parent13c0145890a6d86614482741bf8f486116002737 (diff)
attempt to properly manage MIDI note display of selected status
Whether to display the selected outline depends on BOTH whether the note is selected, and whether we are in an internal editing mode.
Diffstat (limited to 'gtk2_ardour/midi_region_view.cc')
-rw-r--r--gtk2_ardour/midi_region_view.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index eb5e9892a9..63a3fd6b87 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -469,11 +469,19 @@ MidiRegionView::enter_internal (uint32_t state)
if (frame_handle_end) {
frame_handle_end->lower_to_bottom();
}
+
+ for (Events::iterator it = _events.begin(); it != _events.end(); ++it) {
+ it->second->set_hide_selection (false);
+ }
}
void
MidiRegionView::leave_internal()
{
+ for (Events::iterator it = _events.begin(); it != _events.end(); ++it) {
+ it->second->set_hide_selection (true);
+ }
+
hide_verbose_cursor ();
remove_ghost_note ();
_entered_note = 0;
@@ -2440,8 +2448,12 @@ MidiRegionView::add_to_selection (NoteBase* ev)
}
if (selection_was_empty) {
- PublicEditor& editor (trackview.editor());
- editor.get_selection().add (this);
+
+ /* first note selected in this region, force Editor region
+ * selection to this region.
+ */
+
+ trackview.editor().set_selected_midi_region_view (*this);
}
}