00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __QVOSS_PLUGIN_H
00026 #define __QVOSS_PLUGIN_H
00027
00028 #include <qvmixerplugin.h>
00029 #include <qstringlist.h>
00030 #include <qmap.h>
00031
00032 class QComboBox;
00033
00039 class QtVisionOSS : public QVMixerPlugin
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 QtVisionOSS(QtVision *qtv, QObject *parent, const char* name);
00045 virtual ~QtVisionOSS();
00046
00047 virtual int probeDevices();
00048 virtual int setMixer(const QString& mixer);
00049
00050 virtual int setVolume(int left, int right);
00051 virtual int volumeLeft();
00052 virtual int volumeRight();
00053
00054 virtual int setMuted(bool mute);
00055 virtual bool muted();
00056
00057 int volume();
00058
00059 public slots:
00060 virtual QWidget *configWidget(QWidget*, const char *);
00061 virtual void saveConfig();
00062
00063 private slots:
00064 void deviceChanged(const QString& dev);
00065
00066 private:
00067 int _fd;
00068 int _devnum;
00069 int _mask;
00070 int _left;
00071 int _right;
00072 bool _muted;
00073
00074 QString _dev;
00075 struct { int left, right; } preMuteLevels;
00076 QStringList _devlist;
00077 QMap<QString,QStringList> _mixerMap;
00078 QComboBox *_cfg_devs, *_cfg_mixers;
00079 };
00080
00081 #endif
00082