X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fio_selector.h;h=430926f76110583c6b50d645ef316dc46b3bc84b;hb=8d1775b4582a4fe96b254dd3877377406ee51642;hp=1dd77dd5a1f3ac48b4d202862b19c9b4c13210ce;hpb=b4c174433387944af95f816ced982091d699a1ae;p=ardour.git diff --git a/gtk2_ardour/io_selector.h b/gtk2_ardour/io_selector.h index 1dd77dd5a1..430926f761 100644 --- a/gtk2_ardour/io_selector.h +++ b/gtk2_ardour/io_selector.h @@ -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 + +#include + #include #include #include @@ -39,6 +41,7 @@ using __gnu_cxx::slist; #include + 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, 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 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 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, 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); 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, 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 (); };