[Reviewed] Paul Davis
[Required review] YPozdnyakov, GZharun
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">24hrs+</span>"));
} else {
rec_enabled_streams = 0;
snprintf (buf, sizeof (buf), "%s", _("Disk: <span foreground=\"green\">24hrs+</span>"));
} else {
rec_enabled_streams = 0;
- _session->foreach_route (this, &ARDOUR_UI::count_recenabled_streams);
+ _session->foreach_route (this, &ARDOUR_UI::count_recenabled_streams, false);
framecnt_t frames = opt_frames.get_value_or (0);
framecnt_t frames = opt_frames.get_value_or (0);
void notify_remote_id_change ();
void sync_order_keys ();
void notify_remote_id_change ();
void sync_order_keys ();
- template<class T> void foreach_route (T *obj, void (T::*func)(Route&));
- template<class T> void foreach_route (T *obj, void (T::*func)(boost::shared_ptr<Route>));
- template<class T, class A> void foreach_route (T *obj, void (T::*func)(Route&, A), A arg);
+ template<class T> void foreach_route (T *obj, void (T::*func)(Route&), bool sort = true);
+ template<class T> void foreach_route (T *obj, void (T::*func)(boost::shared_ptr<Route>), bool sort = true);
+ template<class T, class A> void foreach_route (T *obj, void (T::*func)(Route&, A), A arg, bool sort = true);
static char session_name_is_legal (const std::string&);
bool io_name_is_legal (const std::string&);
static char session_name_is_legal (const std::string&);
bool io_name_is_legal (const std::string&);
namespace ARDOUR {
template<class T> void
namespace ARDOUR {
template<class T> void
-Session::foreach_route (T *obj, void (T::*func)(Route&))
+Session::foreach_route (T *obj, void (T::*func)(Route&), bool sort)
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
- RoutePublicOrderSorter cmp;
-
- public_order.sort (cmp);
-
+
+ if (sort) {
+ public_order.sort (RoutePublicOrderSorter());
+ }
+
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (**i);
}
}
template<class T> void
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (**i);
}
}
template<class T> void
-Session::foreach_route (T *obj, void (T::*func)(boost::shared_ptr<Route>))
+Session::foreach_route (T *obj, void (T::*func)(boost::shared_ptr<Route>), bool sort)
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
- RoutePublicOrderSorter cmp;
- public_order.sort (cmp);
+ if (sort) {
+ public_order.sort (RoutePublicOrderSorter());
+ }
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (*i);
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (*i);
}
template<class T, class A> void
}
template<class T, class A> void
-Session::foreach_route (T *obj, void (T::*func)(Route&, A), A arg1)
+Session::foreach_route (T *obj, void (T::*func)(Route&, A), A arg1, bool sort)
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
{
boost::shared_ptr<RouteList> r = routes.reader();
RouteList public_order (*r);
- RoutePublicOrderSorter cmp;
-
- public_order.sort (cmp);
+
+ if (sort) {
+ public_order.sort (RoutePublicOrderSorter());
+ }
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (**i, arg1);
for (RouteList::iterator i = public_order.begin(); i != public_order.end(); i++) {
(obj->*func) (**i, arg1);