add Session::get_tracks()

This commit is contained in:
Paul Davis
2014-07-09 11:29:26 -04:00
parent 1fd4d40dbb
commit 73d98df3d2
2 changed files with 15 additions and 1 deletions

View File

@@ -230,8 +230,8 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop
return routes.reader ();
}
boost::shared_ptr<RouteList> get_tracks() const;
boost::shared_ptr<RouteList> get_routes_with_internal_returns() const;
boost::shared_ptr<RouteList> get_routes_with_regions_at (framepos_t const) const;
uint32_t nroutes() const { return routes.reader()->size(); }

View File

@@ -4635,6 +4635,20 @@ Session::route_removed_from_route_group (RouteGroup* rg, boost::weak_ptr<Route>
RouteRemovedFromRouteGroup (rg, r);
}
boost::shared_ptr<RouteList>
Session::get_tracks () const
{
boost::shared_ptr<RouteList> rl = routes.reader ();
boost::shared_ptr<RouteList> tl (new RouteList);
for (RouteList::const_iterator r = rl->begin(); r != rl->end(); ++r) {
if (boost::dynamic_pointer_cast<Track> (*r)) {
tl->push_back (*r);
}
}
return tl;
}
boost::shared_ptr<RouteList>
Session::get_routes_with_regions_at (framepos_t const p) const
{