diff layer/FlexiNoteLayer.cpp @ 1553:76e4302a3fc2

Fix note numbering - ensure stable across whole track (as it used to be, but without scanning all notes in paint in order to do that)
author Chris Cannam
date Fri, 22 Nov 2019 14:12:50 +0000
parents e6362cf5ff1d
children
line wrap: on
line diff
--- a/layer/FlexiNoteLayer.cpp	Thu Nov 21 14:03:19 2019 +0000
+++ b/layer/FlexiNoteLayer.cpp	Fri Nov 22 14:12:50 2019 +0000
@@ -824,15 +824,20 @@
 
     paint.save();
     paint.setRenderHint(QPainter::Antialiasing, false);
-    
-    int noteNumber = 0;
+
+    int noteNumber = -1;
 
     for (EventVector::const_iterator i = points.begin();
          i != points.end(); ++i) {
 
-        ++noteNumber;
         const Event &p(*i);
 
+        if (noteNumber < 0) {
+            noteNumber = model->getIndexForEvent(p);
+        } else {
+            noteNumber ++;
+        }
+
         int x = v->getXForFrame(p.getFrame());
         int y = getYForValue(v, p.getValue());
         int w = v->getXForFrame(p.getFrame() + p.getDuration()) - x;