diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-10 03:25:32 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-10 03:25:32 +0000 |
commit | 61cade6d59118288e90a405e0f4fbc24d0108814 (patch) | |
tree | fe9083a4c005ac239bf5995c16252609dc547869 /libs/ardour/ardour/route_group_specialized.h | |
parent | f18bcf0cc835ab401d8e28dcc18c72795977752a (diff) |
drastic, deep and wide changes to make RouteGroup use boost::shared_ptr<Route> and boost::shared_ptr<RouteList> to better fit into emerging framework for "RT operations" ; torben's changes to MTC slaving code (sorry for bundling)
git-svn-id: svn://localhost/ardour2/branches/3.0@6334 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/route_group_specialized.h')
-rw-r--r-- | libs/ardour/ardour/route_group_specialized.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/ardour/route_group_specialized.h b/libs/ardour/ardour/route_group_specialized.h index c9d06a93c9..242a16c43e 100644 --- a/libs/ardour/ardour/route_group_specialized.h +++ b/libs/ardour/ardour/route_group_specialized.h @@ -26,12 +26,13 @@ namespace ARDOUR { template<class T> void -RouteGroup::apply (void (Track::*func)(T, void *), T val, void */*src*/) +RouteGroup::apply (void (Track::*func)(T, void *), T val, void* /*src*/) { - for (std::list<Route *>::iterator i = routes.begin(); i != routes.end(); i++) { - Track *at; - if ((at = dynamic_cast<Track*>(*i)) != 0) { - (at->*func)(val, this); + for (RouteList::iterator i = routes->begin(); i != routes->end(); i++) { + boost::shared_ptr<Track> at; + + if ((at = boost::dynamic_pointer_cast<Track>(*i)) != 0) { + (at.get()->*func)(val, this); } } } @@ -39,3 +40,4 @@ RouteGroup::apply (void (Track::*func)(T, void *), T val, void */*src*/) } /* namespace ARDOUR */ #endif /* __ardour_route_group_specialized_h__ */ + |