comparison audioio/AudioCallbackPlaySource.h @ 3:75c3ea1c3a32

* Add play-selection and looping modes. Looping seems to work OK, but the plain play-selection is miscalculating current frame number to feed back to the GUI. * Cache selection rectanges wherever possible in View::paintEvent.
author Chris Cannam
date Tue, 24 Jan 2006 16:20:58 +0000
parents df5923e33d01
children 5865094175ea
comparison
equal deleted inserted replaced
2:df5923e33d01 3:75c3ea1c3a32
164 signals: 164 signals:
165 void modelReplaced(); 165 void modelReplaced();
166 166
167 /// Just a warning 167 /// Just a warning
168 void sampleRateMismatch(size_t requested, size_t available); 168 void sampleRateMismatch(size_t requested, size_t available);
169
170 protected slots:
171 void selectionChanged();
172 void playLoopModeChanged();
173 void playSelectionModeChanged();
169 174
170 protected: 175 protected:
171 ViewManager *m_viewManager; 176 ViewManager *m_viewManager;
172 AudioGenerator *m_audioGenerator; 177 AudioGenerator *m_audioGenerator;
173 178
216 size_t m_slowdownCounter; 221 size_t m_slowdownCounter;
217 TimeStretcherData *m_timeStretcher; 222 TimeStretcherData *m_timeStretcher;
218 Scavenger<TimeStretcherData> m_timeStretcherScavenger; 223 Scavenger<TimeStretcherData> m_timeStretcherScavenger;
219 224
220 void fillBuffers(); // Called from fill thread, m_playing true, mutex held 225 void fillBuffers(); // Called from fill thread, m_playing true, mutex held
226 bool mixModels(size_t &frame, size_t count, float **buffers);
221 227
222 class AudioCallbackPlaySourceFillThread : public QThread 228 class AudioCallbackPlaySourceFillThread : public QThread
223 { 229 {
224 public: 230 public:
225 AudioCallbackPlaySourceFillThread(AudioCallbackPlaySource &source) : 231 AudioCallbackPlaySourceFillThread(AudioCallbackPlaySource &source) :