22 #ifndef __ardour_session_route_h__
23 #define __ardour_session_route_h__
27 #include <glibmm/threads.h>
34 template<
class T>
void
44 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
49 template<
class T>
void
59 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
64 template<
class T,
class A>
void
74 for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
75 (obj->*func) (**i, arg1);
80 template<
class A>
void
85 for (
auto const& i : *r) {
86 std::shared_ptr<Track> tr = std::dynamic_pointer_cast<Track> (i);
88 (tr.get()->*method) (arg);
93 template<
class A1,
class A2>
void
98 for (
auto const& i : *r) {
99 std::shared_ptr<Track> tr = std::dynamic_pointer_cast<Track> (i);
101 (tr.get()->*method) (arg1, arg2);
106 template<
class A>
void
110 for (
auto const& i : *r) {
111 (i.get()->*method) (arg);
115 template<
class A1,
class A2>
void
120 for (
auto const& i : *r) {
121 (i.get()->*method) (arg1, arg2);
void foreach_route(T *obj, void(T::*func)(Route &), bool sort=true)
void foreach_track(void(Track::*method)(A), A arg)
SerializedRCUManager< RouteList > routes
std::shared_ptr< T const > reader() const
std::list< std::shared_ptr< Route > > RouteList