Main Page   Class Hierarchy   Compound List   File List   Compound Members  

qvmixerplugin.h

00001 // -*- c++ -*-
00002 
00003 /*
00004  *
00005  * Copyright (C) 2002 George Staikos <staikos@kde.org>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public License
00018  * along with this library; see the file COPYING.LIB.  If not, write to
00019  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
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     // return 0 on success.  This is called to indicate that you should probe
00052     // for devices and populate _mixers.
00053     // It may be called more than once.
00054     virtual int probeDevices() = 0;
00055 
00056     /*
00057      *   Set the volume of the current mixer to vol.  This must be normalized
00058      *   to [0..100].  Returns -1 on a system error otherwise 0.
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 

Generated at Thu Jan 30 02:56:02 2003 for QtVision by doxygen1.2.9.1 written by Dimitri van Heesch, © 1997-2001