diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-03 13:40:34 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-03 13:40:34 +0000 |
commit | 3104041e67b0f7c476c7478ce4b7a4af3d277da7 (patch) | |
tree | d9bfaafe7983caca4f3292d5f9835e5bbd0d38b8 /libs/ardour/ardour/route_group.h | |
parent | d166d0584f611d5e1ff85a5008e87c9e21e04952 (diff) |
meter point restore handling, and related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6854 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/route_group.h')
-rw-r--r-- | libs/ardour/ardour/route_group.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/ardour/ardour/route_group.h b/libs/ardour/ardour/route_group.h index c7616a746e..7dbdc1d882 100644 --- a/libs/ardour/ardour/route_group.h +++ b/libs/ardour/ardour/route_group.h @@ -98,12 +98,24 @@ class RouteGroup : public SessionObject } } + void apply (void (Route::*func)()) { + for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) { + ((*i).get()->*func)(); + } + } + template<class T> void apply (void (Route::*func)(T, void *), T val, void *src) { for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) { ((*i).get()->*func)(val, src); } } + template<class T> void apply (void (Route::*func)(T), T val) { + for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) { + ((*i).get()->*func)(val); + } + } + template<class T> void foreach_route (T *obj, void (T::*func)(Route&)) { for (RouteList::iterator i = routes->begin(); i != routes->end(); ++i) { (obj->*func)(**i); |