+void Player::setVolume(int v) {
+ _output->setVolume(v*0.01);
+}
+
+void Player::equalizerValue(int band, double *val) {
+ if (_equalizer == NULL) {
+ *val = 0;
+ return;
+ }
+ if (band < 0 || band > 9) {
+ *val = -24;
+ return;
+ }
+ if (_equalizer_enabled) {
+ QList<Phonon::EffectParameter> plist = _equalizer->parameters();
+ QVariant var = _equalizer->parameterValue(plist[band]);
+ *val = var.toDouble();
+ }
+}
+
+void Player::enableEqualizer() {
+ if (_equalizer == NULL)
+ return;
+ _equalizer_enabled = true;
+ _path.insertEffect(_equalizer);
+ Config config;
+ config.setValue("equalizer/equalizer", "enabled");
+}
+
+void Player::disableEqualizer() {
+ if (_equalizer == NULL)
+ return;
+ _equalizer_enabled = false;
+ _path.removeEffect(_equalizer);
+ Config config;
+ config.setValue("equalizer/equalizer", "disabled");
+}
+
+void Player::setEqualizerValue(int band, double value) {
+ if (_equalizer == NULL)
+ return;
+ if (band < 0 || band > 9 || value < -24 || value > 12) {
+ return;
+ }
+ QList<Phonon::EffectParameter> plist = _equalizer->parameters();
+ _equalizer->setParameterValue(plist[band], QVariant::fromValue(value));
+ Config config;
+ config.setValue(QString("equalizer/band%1").arg(band), value);
+}