summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/io.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-17 18:24:23 +0000
commitf6fdd8dcbf41f864e9f0cc32dabe81fe3533ddfe (patch)
tree5214c580b9e6c17a499fa587660dbf949e892bf2 /libs/ardour/ardour/io.h
parentda762129f19c28aff64f833b6ec09fba946faef6 (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 'libs/ardour/ardour/io.h')
-rw-r--r--libs/ardour/ardour/io.h23
1 files changed, 10 insertions, 13 deletions
diff --git a/libs/ardour/ardour/io.h b/libs/ardour/ardour/io.h
index da0b88e5fe..eeb7ed64f0 100644
--- a/libs/ardour/ardour/io.h
+++ b/libs/ardour/ardour/io.h
@@ -23,7 +23,6 @@
#include <string>
#include <vector>
#include <cmath>
-#include <sigc++/signal.h>
#include <jack/jack.h>
#include <glibmm/thread.h>
@@ -133,7 +132,7 @@ class IO : public SessionObject, public Latent
const ChanCount& n_ports () const { return _ports.count(); }
- sigc::signal<void,IOChange,void*> changed;
+ boost::signals2::signal<void(IOChange,void*)> changed;
virtual XMLNode& state (bool full);
XMLNode& get_state (void);
@@ -145,7 +144,7 @@ class IO : public SessionObject, public Latent
static int disable_ports (void);
static int enable_ports (void);
- static sigc::signal<void,ChanCount> PortCountChanged; // emitted when the number of ports changes
+ static boost::signals2::signal<void(ChanCount)> PortCountChanged; // emitted when the number of ports changes
static std::string name_from_state (const XMLNode&);
static void set_name_in_state (XMLNode&, const std::string&);
@@ -153,7 +152,7 @@ class IO : public SessionObject, public Latent
/* we have to defer/order port connection. this is how we do it.
*/
- static sigc::signal<int> ConnectingLegal;
+ static boost::signals2::signal<int()> ConnectingLegal;
static bool connecting_legal;
XMLNode *pending_state_node;
@@ -180,20 +179,18 @@ class IO : public SessionObject, public Latent
bool _active;
private:
-
int connecting_became_legal ();
- sigc::connection connection_legal_c;
+ boost::signals2::scoped_connection connection_legal_c;
boost::shared_ptr<Bundle> _bundle; ///< a bundle representing our ports
struct UserBundleInfo {
- UserBundleInfo (IO*, boost::shared_ptr<UserBundle> b);
-
- boost::shared_ptr<UserBundle> bundle;
- sigc::connection changed;
+ UserBundleInfo (IO*, boost::shared_ptr<UserBundle> b);
+ boost::shared_ptr<UserBundle> bundle;
+ boost::signals2::scoped_connection changed;
};
-
- std::vector<UserBundleInfo> _bundles_connected; ///< user bundles connected to our ports
+
+ std::vector<UserBundleInfo*> _bundles_connected; ///< user bundles connected to our ports
static int parse_io_string (const std::string&, std::vector<std::string>& chns);
static int parse_gain_string (const std::string&, std::vector<std::string>& chns);
@@ -201,7 +198,7 @@ class IO : public SessionObject, public Latent
int ensure_ports (ChanCount, bool clear, bool lockit, void *src);
void check_bundles_connected ();
- void check_bundles (std::vector<UserBundleInfo>&, const PortSet&);
+ void check_bundles (std::vector<UserBundleInfo*>&, const PortSet&);
void bundle_changed (Bundle::Change);