X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Froute_group_specialized.h;h=800ddc4289d22630cf3d07a5121661f1ffed9cf4;hb=f485cfa324717f57b9f820f43f1b53307b96a8b9;hp=9e04c46d0e07587bc3fe9f795498438279f3032e;hpb=666e0870554705f4fb466fc6b188fe9b4000ca49;p=ardour.git diff --git a/libs/ardour/ardour/route_group_specialized.h b/libs/ardour/ardour/route_group_specialized.h index 9e04c46d0e..800ddc4289 100644 --- a/libs/ardour/ardour/route_group_specialized.h +++ b/libs/ardour/ardour/route_group_specialized.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + Copyright (C) 2000-2007 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -20,22 +20,24 @@ #ifndef __ardour_route_group_specialized_h__ #define __ardour_route_group_specialized_h__ -#include -#include +#include "ardour/route_group.h" +#include "ardour/track.h" namespace ARDOUR { -template void -RouteGroup::apply (void (Track::*func)(T, void *), T val, void *src) +template void +RouteGroup::apply (void (Track::*func)(T, PBD::Controllable::GroupControlDisposition), T val, PBD::Controllable::GroupControlDisposition group_override) { - for (list::iterator i = routes.begin(); i != routes.end(); i++) { - Track *at; - if ((at = dynamic_cast(*i)) != 0) { - (at->*func)(val, this); + for (RouteList::iterator i = routes->begin(); i != routes->end(); i++) { + boost::shared_ptr at; + + if ((at = boost::dynamic_pointer_cast(*i)) != 0) { + (at.get()->*func)(val, group_override); } } } - + } /* namespace ARDOUR */ #endif /* __ardour_route_group_specialized_h__ */ +