From c8fd1d26eb6a1a47f3a4507b4e32263623ac84cf Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 16 Jun 2014 00:51:45 +0200 Subject: fix region un/combine, based on a patch by Tom Brand --- libs/ardour/ardour/region_sorters.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libs/ardour/ardour') diff --git a/libs/ardour/ardour/region_sorters.h b/libs/ardour/ardour/region_sorters.h index 9fd739a4da..3afd66bf3c 100644 --- a/libs/ardour/ardour/region_sorters.h +++ b/libs/ardour/ardour/region_sorters.h @@ -36,6 +36,19 @@ struct LIBARDOUR_API RegionSortByLayer { } }; +/* sort by RegionSortByLayerAndPosition() + * is equivalent to + * stable_sort by RegionSortByPosition(); + * stable_sort by RegionSortByLayer(); + */ +struct LIBARDOUR_API RegionSortByLayerAndPosition { + bool operator() (boost::shared_ptr a, boost::shared_ptr b) { + return + (a->layer() < b->layer() && a->position() < b->position()) + || (a->layer() == b->layer() && a->position() < b->position()); + } +}; + } // namespace #endif /* __libardour_region_sorters_h__ */ -- cgit v1.2.3