comparison data/model/ReadOnlyWaveFileModel.h @ 1858:14747f24ad04

Use cancellable serialiser; add some more profiling points
author Chris Cannam
date Thu, 14 May 2020 16:36:48 +0100
parents 78fe29adfd16
children
comparison
equal deleted inserted replaced
1857:14c776dad920 1858:14747f24ad04
26 26
27 #include "RangeSummarisableTimeValueModel.h" 27 #include "RangeSummarisableTimeValueModel.h"
28 #include "PowerOfSqrtTwoZoomConstraint.h" 28 #include "PowerOfSqrtTwoZoomConstraint.h"
29 29
30 #include <stdlib.h> 30 #include <stdlib.h>
31
32 #include <atomic>
31 33
32 class AudioFileReader; 34 class AudioFileReader;
33 35
34 class ReadOnlyWaveFileModel : public WaveFileModel 36 class ReadOnlyWaveFileModel : public WaveFileModel
35 { 37 {
135 mutable QMutex m_mutex; 137 mutable QMutex m_mutex;
136 RangeCacheFillThread *m_fillThread; 138 RangeCacheFillThread *m_fillThread;
137 QTimer *m_updateTimer; 139 QTimer *m_updateTimer;
138 sv_frame_t m_lastFillExtent; 140 sv_frame_t m_lastFillExtent;
139 mutable int m_prevCompletion; 141 mutable int m_prevCompletion;
140 bool m_exiting; 142 std::atomic<bool> m_exiting;
141 static PowerOfSqrtTwoZoomConstraint m_zoomConstraint; 143 static PowerOfSqrtTwoZoomConstraint m_zoomConstraint;
142 144
143 mutable floatvec_t m_directRead; 145 mutable floatvec_t m_directRead;
144 mutable sv_frame_t m_lastDirectReadStart; 146 mutable sv_frame_t m_lastDirectReadStart;
145 mutable sv_frame_t m_lastDirectReadCount; 147 mutable sv_frame_t m_lastDirectReadCount;