trackmanager.h

00001 /***************************************************************************
00002  *
00003  *   ::::_audioeditor_::::
00004  *   a simple multitrack audio editor
00005  *
00006  *   trackmanager
00007  *   header file
00008  *
00009  *   begin                : Jan 2006
00010  *   copyright            : (C) 2006 by Georg Holzmann
00011  *   email                : grh@mur.at
00012  *
00013  *   This program is free software; you can redistribute it and/or modify
00014  *   it under the terms of the GNU General Public License as published by
00015  *   the Free Software Foundation; either version 2 of the License, or
00016  *   (at your option) any later version.
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> // TODO: remove !!!
00029 
00030 class Track;
00031 class AudioCtl;
00032 
00039 class TrackManager : public QTextEdit // testing
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__

Generated on Fri Jul 6 12:38:40 2007 for audioeditor.kdevelop by  doxygen 1.5.2