diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2020-05-01 17:39:03 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2020-05-01 17:39:13 -0600 |
commit | 044be536168b0ae0dc44390ec3e58b60c4a9b613 (patch) | |
tree | f7748f0c6b331e390509a07fec7b2baa54ba9a9e /gtk2_ardour/midi_region_view.cc | |
parent | 13c0145890a6d86614482741bf8f486116002737 (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.cc | 16 |
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); } } |