mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 00:34:59 +01:00
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
This commit is contained in:
parent
da762129f1
commit
f6fdd8dcbf
352 changed files with 3494 additions and 3547 deletions
|
|
@ -26,6 +26,7 @@
|
|||
#include "ardour/route.h"
|
||||
|
||||
#include "route_processor_selection.h"
|
||||
#include "gui_thread.h"
|
||||
|
||||
#include "i18n.h"
|
||||
|
||||
|
|
@ -92,18 +93,28 @@ RouteRedirectSelection::add (boost::shared_ptr<Route> r)
|
|||
{
|
||||
if (find (routes.begin(), routes.end(), r) == routes.end()) {
|
||||
routes.push_back (r);
|
||||
|
||||
// XXX SHAREDPTR FIXME
|
||||
// void (RouteRedirectSelection::*pmf)(Route*) = &RouteRedirectSelection::remove;
|
||||
// r->GoingAway.connect (sigc::bind (sigc::mem_fun(*this, pmf), r));
|
||||
|
||||
r->GoingAway.connect (boost::bind (&RouteRedirectSelection::removed, this, boost::weak_ptr<Route>(r)));
|
||||
RoutesChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
RouteRedirectSelection::removed (boost::weak_ptr<Route> wr)
|
||||
{
|
||||
boost::shared_ptr<Route> r (wr.lock());
|
||||
|
||||
if (!r) {
|
||||
return;
|
||||
}
|
||||
|
||||
remove (r);
|
||||
}
|
||||
|
||||
void
|
||||
RouteRedirectSelection::remove (boost::shared_ptr<Route> r)
|
||||
{
|
||||
ENSURE_GUI_THREAD (*this, &RouteRedirectSelection::remove, r);
|
||||
|
||||
list<boost::shared_ptr<Route> >::iterator i;
|
||||
if ((i = find (routes.begin(), routes.end(), r)) != routes.end()) {
|
||||
routes.erase (i);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue