Mercurial > hg > svcore
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: