From e63c3d028aac5880c36f1eb17892a5b42d5d565a Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 14 Sep 2015 04:55:01 +0200 Subject: [PATCH] note-off ordering - fixes #6340 Evoral::Beats::operator>() rounds to (1.0 / PPQN), hardcoded 1/1920.0. If the time difference between two events is smaller than 1/PPQN, Beats::operator>() and Beats::operator<() produce ambiguous results. The same pair of values is both "less than" and "greater than" depending which operator is used. While it's fine for some cases to ignore the order of nearly concurent events, the std::priority_queue must be strictly ordered. --- libs/evoral/evoral/Sequence.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/evoral/evoral/Sequence.hpp b/libs/evoral/evoral/Sequence.hpp index dd5dd17e19..93e97c65e1 100644 --- a/libs/evoral/evoral/Sequence.hpp +++ b/libs/evoral/evoral/Sequence.hpp @@ -134,6 +134,7 @@ public: } }; +#if 0 // NOT USED struct LaterNoteComparator { typedef const Note