From c9dd1d39d1c1d5e93dbead6a947d2ed4d7501d09 Mon Sep 17 00:00:00 2001 From: nick_m Date: Sat, 19 Nov 2016 21:40:41 +1100 Subject: further to 1a6a72b57, handle deleting a note while a non-selected one is entered. --- gtk2_ardour/midi_region_view.cc | 27 +++++++++++++++------------ gtk2_ardour/midi_region_view.h | 10 +++++----- 2 files changed, 20 insertions(+), 17 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 1e05e71e20..e9c811ef2c 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -122,7 +122,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Container* parent, , _last_event_y (0) , _grabbed_keyboard (false) , _entered (false) - , _note_entered (false) + , _entered_note (0) , _mouse_changed_selection (false) { CANVAS_DEBUG_NAME (_note_group, string_compose ("note group for %1", get_item_name())); @@ -165,7 +165,7 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Container* parent, , _last_event_y (0) , _grabbed_keyboard (false) , _entered (false) - , _note_entered (false) + , _entered_note (0) , _mouse_changed_selection (false) { CANVAS_DEBUG_NAME (_note_group, string_compose ("note group for %1", get_item_name())); @@ -213,7 +213,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other) , _last_event_y (0) , _grabbed_keyboard (false) , _entered (false) - , _note_entered (false) + , _entered_note (0) , _mouse_changed_selection (false) { init (false); @@ -245,7 +245,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr(&trackview.editor()); @@ -3364,7 +3367,7 @@ MidiRegionView::note_entered(NoteBase* ev) void MidiRegionView::note_left (NoteBase*) { - _note_entered = false; + _entered_note = 0; for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) { (*i)->hide_velocity (); diff --git a/gtk2_ardour/midi_region_view.h b/gtk2_ardour/midi_region_view.h index 7827e1eb4d..b5972cb9d2 100644 --- a/gtk2_ardour/midi_region_view.h +++ b/gtk2_ardour/midi_region_view.h @@ -501,11 +501,11 @@ private: framecnt_t _last_display_zoom; - double _last_event_x; - double _last_event_y; - bool _grabbed_keyboard; - bool _entered; - bool _note_entered; + double _last_event_x; + double _last_event_y; + bool _grabbed_keyboard; + bool _entered; + NoteBase* _entered_note; bool _mouse_changed_selection; -- cgit v1.2.3