summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/route_group_specialized.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-10 03:25:32 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-10 03:25:32 +0000
commit61cade6d59118288e90a405e0f4fbc24d0108814 (patch)
treefe9083a4c005ac239bf5995c16252609dc547869 /libs/ardour/ardour/route_group_specialized.h
parentf18bcf0cc835ab401d8e28dcc18c72795977752a (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.h12
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__ */
+