00001 #ifndef AUDIOSETTINGSDLG_HPP 00002 #define AUDIOSETTINGSDLG_HPP 00003 00004 #ifdef HAVE_CONFIG_H 00005 #include "config.h" 00006 #endif 00007 00008 #include <qvector.h> 00009 00010 #include "AudioDevice.h" 00011 00012 #include "AudioSettings.h" 00013 00014 class CAudioSettingsDlg: public CAudioSettings 00015 { 00016 public: 00017 CAudioSettingsDlg(QWidget *parent = 0, const char *name = 0, bool modal = false); 00018 00019 void PresetDevice(CAudioDevice *dev); 00020 00021 const CAudioDevice *GetSelectedDevice() const; 00022 00023 protected: 00024 // Overloaded slots 00025 virtual void ChangedSelection(int); 00026 virtual void MixerButtonClicked(); 00027 00028 virtual void SamplerateChanged(int); 00029 virtual void BitdepthChanged(int); 00030 virtual void ChannelsChanged(int); 00031 00032 private: 00033 QVector<CAudioDevice *> m_Dropdown2Device; 00034 CAudioDevice *m_pCurrentDevice; 00035 CAudioRingBufferReader *m_pCurrentReader; 00036 00037 void SetDevice(CAudioDevice *new_device); 00038 void EnableGUI(bool); 00039 void SetGUIFromDevice() const; 00040 00041 }; 00042 00043 00044 #endif