Mercurial > hg > svapp
diff audioio/AudioCallbackPlaySource.h @ 4:5865094175ea
* Fix update and play limits for play-selection mode when not looping
* Fix playback in loop mode when no selection -- but the GUI update for
this is still wrong on the flyback
* Various fixes and improvements to making selections, particularly during
playback
* Draw selection under non-opaque non-scrollable layers, so as to improve
cacheing
* Show selection limits as text when drawing selection
* Allow user to find missing audio files when loading session
* Cross-fade selections when in play-selection mode -- mostly. We don't
cross-fade on a processing block boundary, and unfortunately with short
selections the selection boundary is quite likely to coincide with a block
boundary.
author | Chris Cannam |
---|---|
date | Wed, 25 Jan 2006 17:46:28 +0000 |
parents | 75c3ea1c3a32 |
children | f3d777b693f7 |
line wrap: on
line diff
--- a/audioio/AudioCallbackPlaySource.h Tue Jan 24 16:20:58 2006 +0000 +++ b/audioio/AudioCallbackPlaySource.h Wed Jan 25 17:46:28 2006 +0000 @@ -164,6 +164,8 @@ signals: void modelReplaced(); + void playStatusChanged(bool isPlaying); + /// Just a warning void sampleRateMismatch(size_t requested, size_t available); @@ -186,6 +188,7 @@ bool m_playing; bool m_exiting; size_t m_bufferedToFrame; + size_t m_lastModelEndFrame; static const size_t m_ringBufferSize; float m_outputLeft; float m_outputRight; @@ -222,7 +225,10 @@ TimeStretcherData *m_timeStretcher; Scavenger<TimeStretcherData> m_timeStretcherScavenger; - void fillBuffers(); // Called from fill thread, m_playing true, mutex held + // Called from fill thread, m_playing true, mutex held + void fillBuffers(); + + // Called from fillBuffers bool mixModels(size_t &frame, size_t count, float **buffers); class AudioCallbackPlaySourceFillThread : public QThread