+
+ void add_underlay (StreamView*, bool update_xml = true);
+ void remove_underlay (StreamView*);
+ void build_underlay_menu(Gtk::Menu*);
+
+ int set_state (const XMLNode&);
+
+ /* This is a bit nasty to expose :/ */
+ struct RouteAutomationNode {
+ Evoral::Parameter param;
+ Gtk::CheckMenuItem* menu_item;
+ boost::shared_ptr<AutomationTimeAxisView> track;
+
+ RouteAutomationNode (Evoral::Parameter par, Gtk::CheckMenuItem* mi, boost::shared_ptr<AutomationTimeAxisView> tr)
+ : param (par), menu_item (mi), track (tr) {}
+ };
+
+ virtual void create_automation_child (const Evoral::Parameter& param, bool show) = 0;
+
+ /* make sure we get the right version of this */
+
+ XMLNode* get_automation_child_xml_node (Evoral::Parameter param) { return RouteUI::get_automation_child_xml_node (param); }