diff options
author | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2010-10-13 19:34:22 +0000 |
commit | 8a2c2824a59d7644e13bc52c9a0ecbd641f21f95 (patch) | |
tree | 064ad3f2bf8daab0ad27b128abd86a9bbdb1e496 /muse2/muse/audioprefetch.h | |
parent | a27706d9629e8b592cca4659f865b70adef24e6d (diff) |
new branch muse2, first checkin
Diffstat (limited to 'muse2/muse/audioprefetch.h')
-rw-r--r-- | muse2/muse/audioprefetch.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/muse2/muse/audioprefetch.h b/muse2/muse/audioprefetch.h new file mode 100644 index 00000000..dda4d895 --- /dev/null +++ b/muse2/muse/audioprefetch.h @@ -0,0 +1,46 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: audioprefetch.h,v 1.3.2.2 2009/12/20 05:00:35 terminator356 Exp $ +// +// (C) Copyright 2001 Werner Schweer (ws@seh.de) +//========================================================= + +#ifndef __AUDIOPREFETCH_H__ +#define __AUDIOPREFETCH_H__ + +#include "thread.h" + +//--------------------------------------------------------- +// AudioPrefetch +//--------------------------------------------------------- + +class AudioPrefetch : public Thread { + unsigned writePos; + unsigned seekPos; // remember last seek to optimize seeks + + virtual void processMsg1(const void*); + //void prefetch(); + void prefetch(bool doSeek); + void seek(unsigned pos); + + volatile int seekCount; + + public: + //AudioPrefetch(int prio, const char* name); + AudioPrefetch(const char* name); + + ~AudioPrefetch(); + //virtual void start(); + virtual void start(int); + + void msgTick(); + void msgSeek(unsigned samplePos, bool force=false); + + //volatile bool seekDone; + bool seekDone() const { return seekCount == 0; } + }; + +extern AudioPrefetch* audioPrefetch; + +#endif |