00001 //gapesignaldisplay.h 00002 //Dave Chisholm dkc@ccrma.stanford.edu 00003 //11/24/00 00004 #ifndef _GAPE_SIGNAL_DISPLAY_H 00005 #define _GAPE_SIGNAL_DISPLAY_H 00006 00007 #include "gapeunit.h" 00008 00009 class GapeCosWindow; 00010 class GapePowerSpectrum; 00011 class GapeAccumulator; 00023 class GapeSignalDisplay : public GapeUnit { 00024 Q_OBJECT 00025 public: 00026 GapeSignalDisplay(GapeController* c = NULL,QWidget* parent = NULL) 00027 : GapeUnit(c) {} 00028 00029 virtual ~GapeSignalDisplay() {} 00030 00031 public slots: 00032 virtual void receiveTick(const GapeFloat* values, int numValues) = 0; 00033 }; 00034 00035 00042 class GapeTimeDomainDisplay : public GapeSignalDisplay { 00043 Q_OBJECT 00044 public: 00051 GapeTimeDomainDisplay(QWidget* parent); 00052 00053 public slots: 00054 virtual void receiveTick(const GapeFloat* values, int numValues); 00055 00056 private: 00057 GapeAccumulator* accumulator; 00058 }; 00059 00066 class GapeFreqDomainDisplay : public GapeSignalDisplay { 00067 Q_OBJECT 00068 public: 00075 GapeFreqDomainDisplay(QWidget* parent); 00076 public slots: 00077 virtual void receiveTick(const GapeFloat* values, int numValues); 00078 00079 private: 00080 GapeCosWindow* window; 00081 GapePowerSpectrum* powerSpectrum; 00082 GapeAccumulator* accumulator; 00083 }; 00084 00085 #endif 00086