diff data/model/WaveFileModel.h @ 384:6f6ab834449d spectrogram-cache-rejig

* Merge from trunk
author Chris Cannam
date Wed, 27 Feb 2008 11:59:42 +0000
parents 1afaf98dbf11
children
line wrap: on
line diff
--- a/data/model/WaveFileModel.h	Thu Nov 15 14:03:56 2007 +0000
+++ b/data/model/WaveFileModel.h	Wed Feb 27 11:59:42 2008 +0000
@@ -50,6 +50,7 @@
 
     QString getTitle() const;
     QString getMaker() const;
+    QString getLocation() const;
 
     virtual Model *clone() const;
 
@@ -67,12 +68,20 @@
     virtual size_t getData(int channel, size_t start, size_t count,
                            double *buffer) const;
 
+    virtual size_t getData(size_t fromchannel, size_t tochannel,
+                           size_t start, size_t count,
+                           float **buffers) const;
+
+    virtual size_t getSummaryBlockSize(size_t desired) 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;
 
+    QString getTypeName() const { return tr("Wave File"); }
+
     virtual void toXml(QTextStream &out,
                        QString indent = "",
                        QString extraAttributes = "") const;
@@ -121,6 +130,11 @@
     size_t m_lastFillExtent;
     bool m_exiting;
     static PowerOfSqrtTwoZoomConstraint m_zoomConstraint;
+
+    mutable SampleBlock m_directRead;
+    mutable size_t m_lastDirectReadStart;
+    mutable size_t m_lastDirectReadCount;
+    mutable QMutex m_directReadMutex;
 };    
 
 #endif