diff data/model/DenseThreeDimensionalModel.h @ 1206:659372323b45 tony-2.0-integration

Merge latest SV 3.0 branch code
author Chris Cannam
date Fri, 19 Aug 2016 15:58:57 +0100
parents fd40a5335968
children 51d6551d5244
line wrap: on
line diff
--- a/data/model/DenseThreeDimensionalModel.h	Tue Oct 20 12:54:06 2015 +0100
+++ b/data/model/DenseThreeDimensionalModel.h	Fri Aug 19 15:58:57 2016 +0100
@@ -18,6 +18,7 @@
 
 #include "Model.h"
 #include "TabularModel.h"
+#include "base/ColumnOp.h"
 #include "base/ZoomConstraint.h"
 #include "base/RealTime.h"
 
@@ -55,16 +56,7 @@
      */
     virtual float getMaximumLevel() const = 0;
 
-    /**
-     * Return true if there are data available for the given column.
-     * This should return true only if getColumn(column) would not
-     * have to do any substantial work to calculate its return values.
-     * If this function returns false, it may still be possible to
-     * retrieve the column, but its values may have to be calculated.
-     */
-    virtual bool isColumnAvailable(int column) const = 0;
-
-    typedef QVector<float> Column;
+    typedef ColumnOp::Column Column;
 
     /**
      * Get data from the given column of bin values.
@@ -153,12 +145,12 @@
     {
         switch (column) {
         case 0: {
-            RealTime rt = RealTime::frame2RealTime(row * getResolution(),
-                                                   getSampleRate());
+            RealTime rt = RealTime::frame2RealTime
+                (row * getResolution() + getStartFrame(), getSampleRate());
             return rt.toText().c_str();
         }
         case 1:
-            return int(row * getResolution());
+            return int(row * getResolution() + getStartFrame());
         default:
             return getValueAt(row, column - 2);
         }
@@ -172,10 +164,10 @@
     }
 
     virtual sv_frame_t getFrameForRow(int row) const {
-        return sv_frame_t(row) * getResolution();
+        return sv_frame_t(row) * getResolution() + getStartFrame();
     }
     virtual int getRowForFrame(sv_frame_t frame) const {
-        return int(frame / getResolution());
+        return int((frame - getStartFrame()) / getResolution());
     }
 
 protected: