Add some comments to the RegionSelection class.
[ardour.git] / gtk2_ardour / io_selector.h
index 44518e67599651c7b119bb557283955076247d49..5ece771a638c7975c001ebba0b45a21f1779d613 100644 (file)
@@ -15,7 +15,6 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id$
 */
 
 #ifndef __ardour_ui_io_selector_h__
@@ -48,12 +47,12 @@ namespace ARDOUR {
        class Session;
        class PortInsert;
        class Port;
-       class Redirect;
+       class IOProcessor;
 }
 
 class IOSelector : public Gtk::VBox {
   public:
-       IOSelector (ARDOUR::Session&, ARDOUR::IO&, bool for_input);
+       IOSelector (ARDOUR::Session&, boost::shared_ptr<ARDOUR::IO>, bool for_input);
        ~IOSelector ();
 
        void redisplay ();
@@ -67,11 +66,12 @@ class IOSelector : public Gtk::VBox {
 
   protected:
        ARDOUR::Session& session;
-
+       
   private:
-       ARDOUR::IO& io;
+       boost::shared_ptr<ARDOUR::IO> io;
        bool for_input;
        ARDOUR::Port *selected_port;
+       sigc::connection page_selection_connection;
 
        Gtk::VBox main_box;
        Gtk::HBox port_and_selector_box;
@@ -119,13 +119,12 @@ class IOSelector : public Gtk::VBox {
        bool port_selection_changed(GdkEventButton *, Gtk::TreeView*);
 
        void ports_changed (ARDOUR::IOChange, void *);
-       void name_changed (void*);
+       void name_changed ();
 
        void add_port ();
        void remove_port ();
-       gint remove_port_when_idle (ARDOUR::Port *);
+       void set_button_sensitivity ();
 
-       gint port_column_button_release (GdkEventButton *, Gtk::TreeView*);
        gint connection_button_release (GdkEventButton *, Gtk::TreeView*);
        
        void select_treeview(Gtk::TreeView*);
@@ -135,7 +134,7 @@ class IOSelector : public Gtk::VBox {
 class IOSelectorWindow : public ArdourDialog
 {
   public:
-       IOSelectorWindow (ARDOUR::Session&, ARDOUR::IO&, bool for_input, bool can_cancel=false);
+       IOSelectorWindow (ARDOUR::Session&, boost::shared_ptr<ARDOUR::IO>, bool for_input, bool can_cancel=false);
        ~IOSelectorWindow ();
 
        IOSelector& selector() { return _selector; }
@@ -162,7 +161,7 @@ class IOSelectorWindow : public ArdourDialog
 class PortInsertUI : public Gtk::VBox
 {
   public: 
-       PortInsertUI (ARDOUR::Session&, ARDOUR::PortInsert&);
+       PortInsertUI (ARDOUR::Session&, boost::shared_ptr<ARDOUR::PortInsert>);
        
        void redisplay ();
        void finished (IOSelector::Result);
@@ -178,7 +177,7 @@ class PortInsertUI : public Gtk::VBox
 class PortInsertWindow : public ArdourDialog
 {
   public: 
-       PortInsertWindow (ARDOUR::Session&, ARDOUR::PortInsert&, bool can_cancel=false);
+       PortInsertWindow (ARDOUR::Session&, boost::shared_ptr<ARDOUR::PortInsert>, bool can_cancel=false);
        
   protected:
        void on_map ();
@@ -198,7 +197,8 @@ class PortInsertWindow : public ArdourDialog
        void cancel ();
        void accept ();
 
-       void plugin_going_away (ARDOUR::Redirect*);
+       void plugin_going_away ();
+       sigc::connection going_away_connection;
 };