remove debug output from last commit
[ardour.git] / gtk2_ardour / io_selector.h
index 1dd77dd5a1f3ac48b4d202862b19c9b4c13210ce..430926f76110583c6b50d645ef316dc46b3bc84b 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__
@@ -29,6 +28,9 @@ using __gnu_cxx::slist;
 #endif
 
 #include <string>
+
+#include <glibmm/thread.h>
+
 #include <gtkmm/box.h>
 #include <gtkmm/frame.h>
 #include <gtkmm/button.h>
@@ -39,6 +41,7 @@ using __gnu_cxx::slist;
 
 #include <ardour_dialog.h>
 
+
 namespace ARDOUR {
        class IO;
        class Session;
@@ -49,7 +52,7 @@ namespace ARDOUR {
 
 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 ();
@@ -63,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;
@@ -105,7 +109,7 @@ class IOSelector : public Gtk::VBox {
        Gtk::Button clear_connections_button;
        Gtk::ScrolledWindow port_display_scroller;
 
-       PBD::Lock port_display_lock;
+       Glib::Mutex port_display_lock;
        slist<Gtk::TreeView *> port_displays;
        void display_ports ();
 
@@ -119,9 +123,8 @@ class IOSelector : public Gtk::VBox {
 
        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*);
@@ -131,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; }
@@ -158,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);
@@ -174,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 ();
@@ -194,7 +197,7 @@ class PortInsertWindow : public ArdourDialog
        void cancel ();
        void accept ();
 
-       void plugin_going_away (ARDOUR::Redirect*);
+       void plugin_going_away ();
 };