Mercurial > hg > svapp
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) : |