Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

AudioDisplayVolume.h

Go to the documentation of this file.
00001 #ifndef AUDIODISPLAYVOLUME_HPP 00002 #define AUDIODISPLAYVOLUME_HPP 00003 00004 #ifdef HAVE_CONFIG_H 00005 #include "config.h" 00006 #endif 00007 00008 #include <qarray.h> 00009 #include <qthread.h> 00010 #include <qvector.h> 00011 #include <qwidget.h> 00012 00013 #include "AudioDevice.h" 00014 #include "LedBar.h" 00015 00016 class CAudioDisplayVolume: public QWidget, public QThread 00017 { 00018 Q_OBJECT 00019 public: 00023 enum DisplayMode 00024 { 00025 SkyLine, 00026 Stereo, 00027 Stack, 00028 }; 00029 00030 private: 00031 QMutex m_Mutex; 00032 DisplayMode m_DisplayMode; 00033 int m_DisplayLength; 00034 CAudioRingBufferReader *m_pReader; 00035 SoundAttributes m_SndAttr; 00036 int m_Samples; 00037 bool m_Done; 00038 QSize m_SizeHint; 00039 int m_Length; 00040 int m_MaxShift; 00041 00042 QVector<CLedBar> m_Bars; 00043 QArray<int> m_OldMax; 00044 QArray<int> m_Max; 00045 00046 void RecalculateSizes(); 00047 00048 protected: 00049 virtual void run(); 00050 virtual void paintEvent(QPaintEvent *ev); 00051 virtual void resizeEvent(QResizeEvent *ev); 00052 00053 public: 00054 CAudioDisplayVolume(QWidget *parent = 0, const char *name = 0); 00055 CAudioDisplayVolume(CAudioRingBufferReader *reader, DisplayMode mode, QWidget *parent = 0, const char *name = 0); 00056 ~CAudioDisplayVolume(); 00057 00058 void SetMode(DisplayMode mode); 00059 void SetReader(CAudioRingBufferReader *reader); 00060 void SetLength(int length); 00061 00062 virtual QSize sizeHint(); 00063 void Quit(bool Wait = true); 00064 00065 public slots: 00066 void SetSoundAttributes(const SoundAttributes &); 00067 }; 00068 00069 #endif 00070

Generated on Wed Dec 13 23:38:46 2006 for CamStream by doxygen 1.3.7