+
+/** Suspend updates to the regions' note ranges and our
+ * note lines until resume_updates() is called.
+ */
+void
+MidiStreamView::suspend_updates ()
+{
+ _updates_suspended = true;
+}
+
+/** Resume updates to region note ranges and note lines,
+ * and update them now.
+ */
+void
+MidiStreamView::resume_updates ()
+{
+ _updates_suspended = false;
+
+ 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 ();
+ }
+}