diff options
Diffstat (limited to 'gtk2_ardour/automation_streamview.cc')
-rw-r--r-- | gtk2_ardour/automation_streamview.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gtk2_ardour/automation_streamview.cc b/gtk2_ardour/automation_streamview.cc index 9bce718fce..024d235c7d 100644 --- a/gtk2_ardour/automation_streamview.cc +++ b/gtk2_ardour/automation_streamview.cc @@ -99,11 +99,13 @@ AutomationStreamView::add_region_view_internal (boost::shared_ptr<Region> region for (i = region_views.begin(); i != region_views.end(); ++i) { if ((*i)->region() == region) { - /* great. we already have a MidiRegionView for this Region. use it again. */ + /* great. we already have an AutomationRegionView for this Region. use it again. */ + AutomationRegionView* arv = dynamic_cast<AutomationRegionView*>(*i);; + arv->line()->set_list (list); (*i)->set_valid (true); (*i)->enable_display(wfd); - display_region(dynamic_cast<AutomationRegionView*>(*i)); + display_region(arv); return NULL; } @@ -140,6 +142,17 @@ AutomationStreamView::display_region(AutomationRegionView* region_view) } void +AutomationStreamView::set_automation_state (AutoState state) +{ + std::list<RegionView *>::iterator i; + for (i = region_views.begin(); i != region_views.end(); ++i) { + boost::shared_ptr<AutomationLine> line = ((AutomationRegionView*)(*i))->line(); + if (line && line->the_list()) + line->the_list()->set_automation_state (state); + } +} + +void AutomationStreamView::redisplay_diskstream () { list<RegionView *>::iterator i, tmp; |