+ void engine_running();
+ void engine_stopped();
+
+ virtual void bus_send_display_changed (boost::shared_ptr<ARDOUR::Route>);
+
+ void set_current_delivery (boost::shared_ptr<ARDOUR::Delivery>);
+ boost::shared_ptr<ARDOUR::Delivery> _current_delivery;
+
+ void drop_send ();
+ PBD::ScopedConnection send_gone_connection;
+
+ void reset_strip_style ();
+
+ static int scrollbar_height;
+
+ void update_io_button (boost::shared_ptr<ARDOUR::Route> route, Width width, bool input_button);
+ void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
+
+ /** A VisibilityGroup to manage the visibility of some of our controls.
+ * We fill it with the controls that are being managed, using the same names
+ * as those used with _mixer_strip_visibility in RCOptionEditor. Then
+ * this VisibilityGroup is configured by changes to the RC variable
+ * mixer-strip-visibility, which happen when the user makes changes in
+ * the RC option editor.
+ */
+ VisibilityGroup _visibility;
+ boost::optional<bool> override_solo_visibility () const;
+
+ PBD::ScopedConnection _config_connection;
+
+ void add_input_port (ARDOUR::DataType);
+ void add_output_port (ARDOUR::DataType);
+
+ bool level_meter_button_press (GdkEventButton *);
+ void popup_level_meter_menu (GdkEventButton *);
+ void add_level_meter_item (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, ARDOUR::MeterPoint);
+ void set_meter_point (ARDOUR::MeterPoint);
+ PBD::ScopedConnection _level_meter_connection;
+
+ static std::string meter_point_string (ARDOUR::MeterPoint);