Mercurial > hg > svcore
diff data/model/WritableWaveFileModel.h @ 300:5877d68815c7
* Change WaveFileModel API from getValues(start,end) to getData(start,count).
It's much less error-prone to pass in frame counts instead of start/end
locations. Should have done this ages ago. This closes #1794563.
* Add option to apply a transform to only the selection region, instead of
the whole audio.
* (to make the above work properly) Add start frame offset to wave models
author | Chris Cannam |
---|---|
date | Mon, 01 Oct 2007 13:48:38 +0000 |
parents | 7b96b3bd4bae |
children | 700cd3350391 6f6ab834449d |
line wrap: on
line diff
--- a/data/model/WritableWaveFileModel.h Fri Sep 28 16:15:06 2007 +0000 +++ b/data/model/WritableWaveFileModel.h Mon Oct 01 13:48:38 2007 +0000 @@ -57,19 +57,21 @@ float getValueMinimum() const { return -1.0f; } float getValueMaximum() const { return 1.0f; } - virtual size_t getStartFrame() const { return 0; } - virtual size_t getEndFrame() const { return getFrameCount(); } + virtual size_t getStartFrame() const { return m_startFrame; } + virtual size_t getEndFrame() const { return m_startFrame + getFrameCount(); } - virtual size_t getValues(int channel, size_t start, size_t end, - float *buffer) const; + void setStartFrame(size_t startFrame); - virtual size_t getValues(int channel, size_t start, size_t end, - double *buffer) const; + virtual size_t getData(int channel, size_t start, size_t count, + float *buffer) const; - virtual void getRanges(size_t channel, size_t start, size_t end, - RangeBlock &ranges, size_t &blockSize) const; + virtual size_t getData(int channel, size_t start, size_t count, + double *buffer) const; - virtual Range getRange(size_t channel, size_t start, size_t end) const; + virtual void getSummaries(size_t channel, size_t start, size_t count, + RangeBlock &ranges, size_t &blockSize) const; + + virtual Range getSummary(size_t channel, size_t start, size_t count) const; virtual void toXml(QTextStream &out, QString indent = "", @@ -82,6 +84,7 @@ size_t m_sampleRate; size_t m_channels; size_t m_frameCount; + size_t m_startFrame; int m_completion; };