00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef TRACKMANAGER_H__
00021 #define TRACKMANAGER_H__
00022
00023 #include <QObject>
00024 #include <QList>
00025 #include <QReadWriteLock>
00026 #include "portaudio.h"
00027
00028 #include <QTextEdit>
00029
00030 class Track;
00031 class AudioCtl;
00032
00039 class TrackManager : public QTextEdit
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 TrackManager();
00045 virtual ~TrackManager();
00046
00047 protected:
00049 static void appendTrack();
00050
00051 private:
00071 static int trackAudioCallback(void *inputBuffer, void *outputBuffer,
00072 unsigned long framesPerBuffer,
00073 PaTimestamp outTime, void *userData );
00074
00075 protected:
00077 static QList<Track *> m_tracklist;
00078 static QReadWriteLock m_track_lock;
00079
00081 static AudioCtl *m_audioctl;
00082 };
00083
00084 #endif // TRACKMANAGER_H__