+ void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
+
+ bool mixer_strip_enter_event ( GdkEventCrossing * );
+ bool mixer_strip_leave_event ( GdkEventCrossing * );
+
+ /** 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-element-visibility, which happen when the user makes changes in
+ * the RC option editor.
+ */
+ VisibilityGroup _visibility;
+ boost::optional<bool> override_solo_visibility () const;
+
+ PBD::ScopedConnectionList _config_connection;
+
+ void add_input_port (ARDOUR::DataType);
+ void add_output_port (ARDOUR::DataType);
+
+ bool _suspend_menu_callbacks;
+ bool level_meter_button_press (GdkEventButton *);
+ void popup_level_meter_menu (GdkEventButton *);
+ void add_level_meter_item_point (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, ARDOUR::MeterPoint);
+ void add_level_meter_item_type (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, ARDOUR::MeterType);
+ void set_meter_point (ARDOUR::MeterPoint);
+ void set_meter_type (ARDOUR::MeterType);
+ PBD::ScopedConnection _level_meter_connection;
+
+ std::string meter_point_string (ARDOUR::MeterPoint);
+
+ void update_track_number_visibility ();
+
+ ControlSlaveUI control_slave_ui;