RTP Audio System  2.0.0
qaudiomixer.h
Go to the documentation of this file.
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                      RTP Audio Server Project                    ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### QAudioMixer                                                      ####
00007 // ####                                                                  ####
00008 // ####           Copyright (C) 1999-2012 by Thomas Dreibholz            ####
00009 // ####                                                                  ####
00010 // #### Contact:                                                         ####
00011 // ####    EMail: dreibh@iem.uni-due.de                                  ####
00012 // ####    WWW:   https://www.nntb.no/~dreibh/rtpaudio                ####
00013 // ####                                                                  ####
00014 // #### ---------------------------------------------------------------- ####
00015 // ####                                                                  ####
00016 // #### This program is free software: you can redistribute it and/or    ####
00017 // #### modify it under the terms of the GNU General Public License as   ####
00018 // #### published by the Free Software Foundation, either version 3 of   ####
00019 // #### the License, or (at your option) any later version.              ####
00020 // ####                                                                  ####
00021 // #### This program is distributed in the hope that it will be useful,  ####
00022 // #### but WITHOUT ANY WARRANTY; without even the implied warranty of   ####
00023 // #### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    ####
00024 // #### GNU General Public License for more details.                     ####
00025 // ####                                                                  ####
00026 // #### You should have received a copy of the GNU General Public        ####
00027 // #### License along with this program.  If not, see                    ####
00028 // #### <http://www.gnu.org/licenses/>.                                  ####
00029 // ####                                                                  ####
00030 // ##########################################################################
00031 // $Id: qaudiomixer.h 1330 2011-12-23 22:29:42Z dreibh $
00032 
00033 
00034 #ifndef QAUDIOMIXER_H
00035 #define QAUDIOMIXER_H
00036 
00037 
00038 #include "tdsystem.h"
00039 #include "audiomixer.h"
00040 
00041 
00042 #include <qapplication.h>
00043 #include <qlayout.h>
00044 #include <qpushbutton.h>
00045 #include <qlabel.h>
00046 #include <qslider.h>
00047 #include <qgroupbox.h>
00048 #include <qmainwindow.h>
00049 
00050 
00058 class QAudioMixer : public QMainWindow
00059 {
00060    // ====== Constructor/Destructor =========================================
00061    Q_OBJECT
00062    public:
00069    QAudioMixer(AudioMixer* mixer,
00070                QWidget*    parent = NULL);
00071 
00075    ~QAudioMixer();
00076 
00077 
00078    // ====== Qt slots =======================================================
00079    public slots:
00083    void balance(int value);
00084 
00088    void volume(int value);
00089 
00093    void updateVolumeFromDevice();
00094 
00098    void centerBalance();
00099 
00103    void mute();
00104 
00105 
00106    // ====== Qt signals =====================================================
00107    signals:
00111    void closeAudioMixer();
00112 
00113 
00114    // ====== Private data ===================================================
00115    private:
00116    void closeEvent(QCloseEvent* event);
00117    void setVolumeOnDevice();
00118    void updateText(const card8 left, const card8 right);
00119 
00120 
00121    integer      VolumeSetting;
00122    integer      BalanceSetting;
00123 
00124    AudioMixer*  Mixer;
00125    QPushButton* Mute;
00126    QSlider*     Balance;
00127    QSlider*     Volume;
00128    QLabel*      Values;
00129 };
00130 
00131 
00132 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines