Implemented equalizer
[someplayer] / src / equalizerdialog.cpp
1 /*
2  * SomePlayer - An alternate music player for Maemo 5
3  * Copyright (C) 2010 Nikolay (somebody) Tischenko <niktischenko@gmail.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  */
19
20 #include "equalizerdialog.h"
21 #include "ui_equalizerdialog.h"
22
23 EqualizerDialog::EqualizerDialog(QWidget *parent) :
24                 QDialog(parent),
25                 ui(new Ui::EqualizerDialog)
26 {
27         ui->setupUi(this);
28         ui->band0Slider->setMinimum(-240);
29         ui->band0Slider->setValue(0);
30         ui->band1Slider->setMinimum(-240);
31         ui->band1Slider->setValue(0);
32         ui->band2Slider->setMinimum(-240);
33         ui->band2Slider->setValue(0);
34         ui->band3Slider->setMinimum(-240);
35         ui->band3Slider->setValue(0);
36         ui->band4Slider->setMinimum(-240);
37         ui->band4Slider->setValue(0);
38         ui->band5Slider->setMinimum(-240);
39         ui->band5Slider->setValue(0);
40         ui->band6Slider->setMinimum(-240);
41         ui->band6Slider->setValue(0);
42         ui->band7Slider->setMinimum(-240);
43         ui->band7Slider->setValue(0);
44         ui->band8Slider->setMinimum(-240);
45         ui->band8Slider->setValue(0);
46         ui->band9Slider->setMinimum(-240);
47         ui->band9Slider->setValue(0);
48
49         ui->band0Slider->setMaximum(120);
50         ui->band1Slider->setMaximum(120);
51         ui->band2Slider->setMaximum(120);
52         ui->band3Slider->setMaximum(120);
53         ui->band4Slider->setMaximum(120);
54         ui->band5Slider->setMaximum(120);
55         ui->band6Slider->setMaximum(120);
56         ui->band7Slider->setMaximum(120);
57         ui->band8Slider->setMaximum(120);
58         ui->band9Slider->setMaximum(120);
59
60         connect(ui->band0Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value0_changed(int)));
61         connect(ui->band1Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value1_changed(int)));
62         connect(ui->band2Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value2_changed(int)));
63         connect(ui->band3Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value3_changed(int)));
64         connect(ui->band4Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value4_changed(int)));
65         connect(ui->band5Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value5_changed(int)));
66         connect(ui->band6Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value6_changed(int)));
67         connect(ui->band7Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value7_changed(int)));
68         connect(ui->band8Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value8_changed(int)));
69         connect(ui->band9Slider, SIGNAL(sliderMoved(int)), this, SLOT(_value9_changed(int)));
70
71         connect(ui->enableToggleButton, SIGNAL(clicked()), this, SLOT(_state_changed()));
72
73 }
74
75 EqualizerDialog::~EqualizerDialog()
76 {
77         delete ui;
78 }
79
80 void EqualizerDialog::setValue(int band, int val) {
81         switch (band) {
82         case 0:
83                 ui->band0Slider->setValue(val); break;
84         case 1:
85                 ui->band1Slider->setValue(val); break;
86         case 2:
87                 ui->band2Slider->setValue(val); break;
88         case 3:
89                 ui->band3Slider->setValue(val); break;
90         case 4:
91                 ui->band4Slider->setValue(val); break;
92         case 5:
93                 ui->band5Slider->setValue(val); break;
94         case 6:
95                 ui->band6Slider->setValue(val); break;
96         case 7:
97                 ui->band7Slider->setValue(val); break;
98         case 8:
99                 ui->band8Slider->setValue(val); break;
100         case 9:
101                 ui->band9Slider->setValue(val); break;
102         }
103
104 }
105
106 void EqualizerDialog::_state_changed() {
107         if (ui->enableToggleButton->isChecked()) {
108                 setEqualizerEnabled(true);
109                 emit equalizerEnabled();
110         } else {
111                 setEqualizerEnabled(false);
112                 emit equalizerDisabled();
113         }
114 }
115
116 void EqualizerDialog::setEqualizerEnabled(bool enabled) {
117         ui->band0Slider->setEnabled(enabled);
118         ui->band1Slider->setEnabled(enabled);
119         ui->band2Slider->setEnabled(enabled);
120         ui->band3Slider->setEnabled(enabled);
121         ui->band4Slider->setEnabled(enabled);
122         ui->band5Slider->setEnabled(enabled);
123         ui->band6Slider->setEnabled(enabled);
124         ui->band7Slider->setEnabled(enabled);
125         ui->band8Slider->setEnabled(enabled);
126         ui->band9Slider->setEnabled(enabled);
127         ui->enableToggleButton->setChecked(enabled);
128 }