00001 // Snd.h: interface for the Snd class. 00002 00003 #if !defined SND_H__ 00004 #define SND_H__ 00005 00006 #include "qobject.h" 00007 #include "qptrlist.h" 00008 #include "Jukebox.h" 00009 #include "qwaitcondition.h" 00010 #include "globals.h" /* srate, etc. */ 00011 00012 class Snd:public QObject 00013 { 00014 Q_OBJECT public: 00015 Snd (int chans, int srate, int buffsize); 00016 int _chans; 00017 int _srate; 00018 int _buffsize; 00019 virtual ~ Snd (); 00020 double *out; 00021 double *in; 00022 int ctr; 00023 int tick_ctr; 00024 QWaitCondition nexttick; 00025 bool running; 00026 double bufTime; 00027 double timeInc; 00028 void addInstrument (Jukebox * i); 00029 QPtrList < Jukebox > orch; 00030 double *tickFrame (double *in); 00031 double *tickOrch (double *tmp); 00032 00033 public slots: 00034 void orchUpdate (double val); 00035 void go (); 00036 void stop (); 00037 }; 00038 00039 #endif