+AutomationStreamView::color_handler ()
+{
+ /*if (_trackview.is_midi_track()) {
+ canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiTrackBase();
+ }
+
+ if (!_trackview.is_midi_track()) {
+ canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_canvasvar_MidiBusBase();;
+ }*/
+}
+
+AutoState
+AutomationStreamView::automation_state () const
+{
+ if (region_views.empty()) {
+ return _pending_automation_state;
+ }
+
+ boost::shared_ptr<AutomationLine> line = ((AutomationRegionView*) region_views.front())->line ();
+ if (!line || !line->the_list()) {
+ return Off;
+ }
+
+ return line->the_list()->automation_state ();
+}
+
+bool
+AutomationStreamView::has_automation () const
+{
+ list<boost::shared_ptr<AutomationLine> > lines = get_lines ();
+
+ for (list<boost::shared_ptr<AutomationLine> >::iterator i = lines.begin(); i != lines.end(); ++i) {
+ if ((*i)->npoints() > 0) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+/** Our parent AutomationTimeAxisView calls this when the user requests a particular
+ * InterpolationStyle; tell the AutomationLists in our regions.
+ */
+void
+AutomationStreamView::set_interpolation (AutomationList::InterpolationStyle s)
+{
+ list<boost::shared_ptr<AutomationLine> > lines = get_lines ();
+
+ for (list<boost::shared_ptr<AutomationLine> >::iterator i = lines.begin(); i != lines.end(); ++i) {
+ (*i)->the_list()->set_interpolation (s);
+ }
+}
+
+AutomationList::InterpolationStyle
+AutomationStreamView::interpolation () const