Deselect MIDI notes when leaving internal edit mode

(part of #4669).


git-svn-id: svn://localhost/ardour2/branches/3.0@12471 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2012-05-28 21:01:37 +00:00
parent ec362b39ad
commit dfd842812c
3 changed files with 15 additions and 1 deletions

View File

@ -292,6 +292,8 @@ public:
void trim_front_ending ();
void create_note_at (framepos_t, double, double, bool);
void clear_selection (bool signal = true) { clear_selection_except (0, signal); }
protected:
/** Allows derived types to specify their visibility requirements
@ -353,7 +355,6 @@ private:
ARDOUR::MidiModel::TimeType end_delta);
void clear_selection_except (ArdourCanvas::CanvasNoteEvent* ev, bool signal = true);
void clear_selection (bool signal = true) { clear_selection_except (0, signal); }
void update_drag_selection (double last_x, double x, double last_y, double y, bool extend);
void update_vertical_drag_selection (double last_y, double y, bool extend);

View File

@ -647,3 +647,14 @@ MidiStreamView::resume_updates ()
draw_note_lines ();
apply_note_range_to_regions ();
}
void
MidiStreamView::leave_internal_edit_mode ()
{
StreamView::leave_internal_edit_mode ();
for (RegionViewList::iterator i = region_views.begin(); i != region_views.end(); ++i) {
MidiRegionView* mrv = dynamic_cast<MidiRegionView*> (*i);
assert (mrv);
mrv->clear_selection ();
}
}

View File

@ -76,6 +76,8 @@ class MidiStreamView : public StreamView
void redisplay_track ();
void leave_internal_edit_mode ();
inline double contents_height() const
{ return (child_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE - 2); }