X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Froute_sorter.h;h=e84788243cfd474ce0c0317aaa960d3a036d146f;hb=f66f7ba136c8588e47b3381ab07353e85f4100bf;hp=768eac66f3c30df813fef678c569e90ee9249f21;hpb=f750aa32070b128f5e61e5abc39855f8654fb0de;p=ardour.git diff --git a/gtk2_ardour/route_sorter.h b/gtk2_ardour/route_sorter.h index 768eac66f3..e84788243c 100644 --- a/gtk2_ardour/route_sorter.h +++ b/gtk2_ardour/route_sorter.h @@ -24,27 +24,29 @@ #include #include -namespace ARDOUR { - class Route; -} +#include "ardour/stripable.h" -struct RoutePlusOrderKey { - boost::shared_ptr route; /* we don't really need this, but its handy to keep around */ +struct OrderKeys { uint32_t old_display_order; uint32_t new_display_order; - RoutePlusOrderKey (boost::shared_ptr r, uint32_t ok, uint32_t nk) - : route (r) - , old_display_order (ok) - , new_display_order (nk) {} + OrderKeys (uint32_t ok, uint32_t nk) + : old_display_order (ok) + , new_display_order (nk) {} }; - -typedef std::vector OrderKeySortedRoutes; + +typedef std::vector OrderingKeys; struct SortByNewDisplayOrder { - bool operator() (const RoutePlusOrderKey& a, const RoutePlusOrderKey& b) { + bool operator() (const OrderKeys& a, const OrderKeys& b) { return a.new_display_order < b.new_display_order; } }; +struct StripablePresentationInfoSorter { + bool operator() (boost::shared_ptr a, boost::shared_ptr b) { + return a->presentation_info().order () < b->presentation_info().order (); + } +}; + #endif /* __gtk2_ardour_route_sorter_h__ */