diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 595560a119..b7e022804e 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -230,8 +230,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop return routes.reader (); } + boost::shared_ptr get_tracks() const; boost::shared_ptr get_routes_with_internal_returns() const; - boost::shared_ptr get_routes_with_regions_at (framepos_t const) const; uint32_t nroutes() const { return routes.reader()->size(); } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 9faa34dcc7..8333146d51 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -4635,6 +4635,20 @@ Session::route_removed_from_route_group (RouteGroup* rg, boost::weak_ptr RouteRemovedFromRouteGroup (rg, r); } +boost::shared_ptr +Session::get_tracks () const +{ + boost::shared_ptr rl = routes.reader (); + boost::shared_ptr tl (new RouteList); + + for (RouteList::const_iterator r = rl->begin(); r != rl->end(); ++r) { + if (boost::dynamic_pointer_cast (*r)) { + tl->push_back (*r); + } + } + return tl; +} + boost::shared_ptr Session::get_routes_with_regions_at (framepos_t const p) const {