+ void handle_thru_action (const CtrlElem &, const CtrlElem &);
+ bool handle_disconnect (const CtrlElem &, bool no_signal = false);
+ void disconnect_other_outputs (uint32_t skip_pc, ARDOUR::DataType dt, uint32_t id);
+ void disconnect_other_thru (ARDOUR::DataType dt, uint32_t id);
+ void remove_port (boost::weak_ptr<ARDOUR::Port>);
+ void disconnect_port (boost::weak_ptr<ARDOUR::Port>);
+ void connect_port (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
+ void add_send_from (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Route>);
+ uint32_t add_port_to_table (boost::shared_ptr<ARDOUR::Port>, uint32_t, bool);
+ uint32_t maybe_add_route_to_input_menu (boost::shared_ptr<ARDOUR::Route>, ARDOUR::DataType, boost::weak_ptr<ARDOUR::Port>);
+ void port_connected_or_disconnected (boost::weak_ptr<ARDOUR::Port>, boost::weak_ptr<ARDOUR::Port>);
+
+ bool sc_input_press (GdkEventButton *, boost::weak_ptr<ARDOUR::Port>);
+ bool sc_input_release (GdkEventButton *);