diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-17 18:24:23 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-17 18:24:23 +0000 |
commit | f6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe (patch) | |
tree | 5214c580b9e6c17a499fa587660dbf949e892bf2 /gtk2_ardour/route_ui.h | |
parent | da762129f19c28aff64f833b6ec09fba946faef6 (diff) |
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.h')
-rw-r--r-- | gtk2_ardour/route_ui.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h index 21d335ef79..a4d7e43b7d 100644 --- a/gtk2_ardour/route_ui.h +++ b/gtk2_ardour/route_ui.h @@ -23,6 +23,8 @@ #include <list> #include "pbd/xml++.h" +#include "pbd/scoped_connections.h" + #include "ardour/ardour.h" #include "ardour/mute_master.h" #include "ardour/session_event.h" @@ -49,8 +51,8 @@ class BindableToggleButton; class RouteUI : public virtual AxisView { public: - RouteUI(ARDOUR::Session&); - RouteUI(boost::shared_ptr<ARDOUR::Route>, ARDOUR::Session&); + RouteUI(ARDOUR::Session*); + RouteUI(boost::shared_ptr<ARDOUR::Route>, ARDOUR::Session*); virtual ~RouteUI(); @@ -194,16 +196,18 @@ class RouteUI : public virtual AxisView static int solo_visual_state (boost::shared_ptr<ARDOUR::Route>); static int solo_visual_state_with_isolate (boost::shared_ptr<ARDOUR::Route>); static int solo_isolate_visual_state (boost::shared_ptr<ARDOUR::Route>); - static int mute_visual_state (ARDOUR::Session &, boost::shared_ptr<ARDOUR::Route>); + static int mute_visual_state (ARDOUR::Session*, boost::shared_ptr<ARDOUR::Route>); protected: - std::vector<sigc::connection> connections; + PBD::ScopedConnectionList connections; + boost::signals2::scoped_connection route_going_away_connection; bool self_destruct; void init (); void reset (); void queue_route_group_op (ARDOUR::RouteGroup::Property prop, void (ARDOUR::Session::*session_method)(boost::shared_ptr<ARDOUR::RouteList>, bool), bool yn); + void self_delete (); private: void check_rec_enable_sensitivity (); @@ -225,6 +229,7 @@ class RouteUI : public virtual AxisView SoloMuteRelease* _solo_release; SoloMuteRelease* _mute_release; + }; #endif /* __ardour_route_ui__ */ |