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 __QVMIXER_PLUGIN_H
00026 #define __QVMIXER_PLUGIN_H
00027
00028 #include <qobject.h>
00029 #include <qstring.h>
00030 #include <qstringlist.h>
00031 #include <qmap.h>
00032 #include "qvpluginbase.h"
00033
00034 class QVMixerPluginPrivate;
00035
00039 class QVMixerPlugin : public QVPluginBase
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 QVMixerPlugin(QtVision *qtv, const QString& cfgkey, QObject *parent = 0, const char* name = 0);
00045 virtual ~QVMixerPlugin();
00046
00047 virtual const QStringList& mixerList() const;
00048 virtual int setMixer(const QString& mixer) = 0;
00049 const QString& mixer() const;
00050
00051
00052
00053
00054 virtual int probeDevices() = 0;
00055
00056
00057
00058
00059
00060 virtual int setVolume(int left, int right) = 0;
00061 virtual int volumeLeft() = 0;
00062 virtual int volumeRight() = 0;
00063
00064 virtual int setMuted(bool mute) = 0;
00065 virtual bool muted() = 0;
00066
00067 signals:
00068 void volumeChanged(int left, int right);
00069
00070
00071 protected:
00072 QStringList _mixers;
00073 QString _currentMixer;
00074
00075 private:
00076 QVMixerPluginPrivate *d;
00077 };
00078
00079 #endif
00080