Move duplicated AudioFileSource::Flags and SMFSource::Flags into Source.
[ardour.git] / gtk2_ardour / automation_streamview.cc
index e7ab7607098d83ec0db70a57d14367bbbbb68e7d..2769ab846df1e3882c9e233baff59f5912c7fe99 100644 (file)
@@ -158,35 +158,20 @@ AutomationStreamView::redisplay_diskstream ()
 {
        list<RegionView *>::iterator i, tmp;
 
+       // Flag region views as invalid and disable drawing
        for (i = region_views.begin(); i != region_views.end(); ++i) {
                (*i)->set_valid (false);
+               (*i)->enable_display(false);
        }
-       
+
+       // Add and display region views, and flag them as valid
        if (_trackview.is_track()) {
                _trackview.get_diskstream()->playlist()->foreach_region (
                        static_cast<StreamView*>(this), &StreamView::add_region_view);
        }
-
-       for (i = region_views.begin(); i != region_views.end(); ) {
-               tmp = i;
-               tmp++;
-
-               if (!(*i)->is_valid()) {
-                       delete *i;
-                       region_views.erase (i);
-               } else {
-                       (*i)->enable_display(true);
-                       (*i)->set_height(height);
-               }
-
-               i = tmp;
-       }
        
-       /* now fix layering */
-
-       for (RegionViewList::iterator i = region_views.begin(); i != region_views.end(); ++i) {
-               region_layered (*i);
-       }
+       // Stack regions by layer, and remove invalid regions
+       layer_regions();
 }