00001 // 00002 // File: Jukebox.h 00003 // Created by: cc <(null)> 00004 // from Tfunc.h Created on: Mon Oct 21 21:04:10 2002 00005 // 00006 00007 #ifndef _JUKEBOX_H_ 00008 #define _JUKEBOX_H_ 00009 #include "Stk.h" 00010 #include "qobject.h" 00011 #include "FileWvIn.h" 00012 #include "globals.h" /* srate, etc. */ 00013 00014 class Jukebox:public QObject, public Stk 00015 { 00016 Q_OBJECT public: 00017 Jukebox (); 00018 ~Jukebox (); 00019 double *out; 00020 #define MAXFILES 200 00021 // Jukebox interface 00022 FileWvIn *sndFile[MAXFILES]; 00023 FileWvIn *ambi[CH]; 00024 FileWvIn *talk[CH]; 00025 FileWvIn *mask[CH]; 00026 int ambiBase; 00027 int talkBase; 00028 int maskBase; 00029 int ambiFiles; 00030 int talkFiles; 00031 int at; 00032 int bt; 00033 int am; 00034 int bm; 00035 int getNumTalkFiles(){return talkFiles;}; 00036 int maskFiles; 00037 int getNumMaskFiles(){return maskFiles;}; 00038 int openFiles (int b, QString dir, QString ch1String, QString type, 00039 bool loop = false, double gain = 10.0); 00040 int nTrials; 00041 void setNumTrials(int n) {nTrials = n;}; 00042 void setTrial (int n, int ct, int cm, bool silenceOnA); 00043 int nowTrial; 00044 void tick (); 00045 double getOut (int ch); 00046 public slots: 00047 void stopPlay (); 00048 void ambiOn (); 00049 void talkOn (int n); 00050 void maskOn (int n); 00051 void playA (); 00052 void playB (); 00053 signals:void updateProgress (int); 00054 void quitAll (); 00055 }; 00056 00057 00058 #endif //_JUKEBOX_H_