OSDN Git Service

[VM][SOUND][Qt] Remove USE_MULTIPLE_SPEAKER, using upstream's APIs.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / sound_dialog.h
1 /*
2  * Common Source Project/ Qt
3  * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
4  *  Qt: Menu->Adjust Volume.
5  *  History: Jul 28, 2015 : Initial
6  */
7
8 #ifndef _CSP_QT_SOUND_DIALOG_H
9 #define _CSP_QT_SOUND_DIALOG_H
10
11 #include <QApplication>
12 #include <QString>
13 #include <QVariant>
14 #include <QAction>
15 #include <QWidget>
16 #include <QIcon>
17 #include <QLabel>
18 #include <QSlider>
19 #include <QGroupBox>
20 #include <QPushButton>
21 #include <QVBoxLayout>
22 #include <QHBoxLayout>
23
24 #include "common.h"
25 #include "config.h"
26 #include "emu.h"
27
28 #include "qt_main.h"
29 #include "commonclasses.h"
30
31 QT_BEGIN_NAMESPACE
32
33 //
34
35 class Ui_SndSliderObject : public QSlider
36 {
37         Q_OBJECT
38 private:
39         EMU *p_emu;
40         QWidget *parent_widget;
41         int bind_num;
42 public:
43         Ui_SndSliderObject(EMU *_emu, Qt::Orientation orientation, QWidget *parent, int num = 0);
44         ~Ui_SndSliderObject();
45 public slots:
46         void setValue(int volume);
47         void setLevelValue(int volume);
48         void setBalanceValue(int volume);
49 signals:        
50         int sig_emu_update_config(void);
51         int sig_emu_update_volume_level(int, int);
52         int sig_emu_update_volume_balance(int, int);
53 };
54
55 class Ui_SoundDialog : public QWidget
56 {
57         Q_OBJECT
58 private:
59         EMU *p_emu;
60         QWidget *parent_widget;
61         QVBoxLayout *VBoxWindow;
62         QHBoxLayout *HBoxWindow;
63         
64 protected:
65         Ui_SndSliderObject *sliderMasterVolume;
66         QGroupBox *boxMasterVolume;
67         QHBoxLayout *HBoxMasterVolume;
68 #ifdef USE_SOUND_VOLUME
69         Ui_SndSliderObject *sliderDeviceVolume[USE_SOUND_VOLUME * 2];
70         QGroupBox *boxDeviceVolume[USE_SOUND_VOLUME];
71         QHBoxLayout *HBoxDeviceVolume[USE_SOUND_VOLUME];
72 #endif
73         QPushButton *closeButton;
74 public:
75         Ui_SoundDialog(EMU *_emu, QWidget *parent = 0);
76         ~Ui_SoundDialog();
77         void setDeviceLabel(int num, QString s);
78         void setSliderVisible(int num, bool flag);
79 public slots:
80         void do_emu_update_config();
81 signals:
82 };
83 QT_END_NAMESPACE
84 #endif //_CSP_QT_SOUND_DIALOG_H