_settings->setValue("ui/language", "en");
if (_settings->value("ui/trackcolor").toString() == "")
_settings->setValue("ui/trackcolor", "blue");
+ _equalizer_settings = new QSettings(QString(applicationDir())+"/equalizer.ini", QSettings::IniFormat);
}
Config::~Config() {
delete _settings;
+ delete _equalizer_settings;
}
QString Config::applicationDir() {
void Config::setValue(QString key, QVariant value) {
_settings->setValue(key, value);
}
+
+QStringList Config::getEqualizerPresets() {
+ QStringList presets = _equalizer_settings->value("equalizer/presets").toStringList();
+ return presets;
+}
+
+double Config::getEqualizerValue(QString band, QString preset) {
+ QString section;
+ if (preset.isEmpty()) {
+ section = "equalizer";
+ } else {
+ section = "equalizer_preset_"+preset;
+ }
+ return _equalizer_settings->value(section+"/"+band).toDouble();
+}
+
+void Config::setEqualizerValue(QString band, double value) {
+ _equalizer_settings->setValue("equalizer/"+band, value);
+}
+
+void Config::saveEqualizer(QString preset) {
+ QString section = QString("equalizer_preset_%1/%2").arg(preset);
+ QStringList presets = getEqualizerPresets();
+ if (!presets.contains(preset)) presets.append(preset);
+ _equalizer_settings->setValue("equalizer/presets", presets);
+ for (int i = 0; i < 10; i++) {
+ QString band = QString("band%1").arg(i);
+ _equalizer_settings->setValue(section.arg(band), getEqualizerValue(band));
+ }
+}
+
+bool Config::equalizerEnabled() {
+ return _equalizer_settings->value("equalizer/enabled").toBool();
+}
+
+void Config::setEqualizerEnabled(bool enabled) {
+ _equalizer_settings->setValue("equalizer/enabled", enabled);
+}
QString applicationDir();
QVariant getValue(QString key);
void setValue(QString key, QVariant value);
+ QStringList getEqualizerPresets();
+ double getEqualizerValue(QString band, QString preset="");
+ void setEqualizerValue(QString band, double value);
+ void saveEqualizer(QString preset);
+ bool equalizerEnabled();
+ void setEqualizerEnabled(bool);
private:
QSettings *_settings;
+ QSettings *_equalizer_settings;
};
};
};
void EqualizerDialog::reloadPresets() {
Config config;
- QStringList presets = config.getValue("equalizer/presets").toStringList();
+ QStringList presets = config.getEqualizerPresets();
ui->presetComboBox->clear();
ui->presetComboBox->addItems(presets);
}
void EqualizerDialog::_save_preset() {
Config config;
QString name = ui->presetComboBox->currentText().trimmed();
- QStringList presets = config.getValue("equalizer/presets").toStringList();
+ QStringList presets = config.getEqualizerPresets();
if (!presets.contains(name))
presets.append(name);
- config.setValue("equalizer/presets", presets);
- config.setValue(QString("equalizer_preset_")+name+"/band0", ui->band0Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band1", ui->band1Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band2", ui->band2Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band3", ui->band3Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band4", ui->band4Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band5", ui->band5Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band6", ui->band6Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band7", ui->band7Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band8", ui->band8Slider->value());
- config.setValue(QString("equalizer_preset_")+name+"/band9", ui->band9Slider->value());
+ config.saveEqualizer(name);
reloadPresets();
}
void EqualizerDialog::_load_preset(QString name) {
Config config;
- ui->band0Slider->setValue(config.getValue("equalizer_preset_"+name+"/band0").toInt());
+ ui->band0Slider->setValue((int)(config.getEqualizerValue("band0", name)*10 + 0.5));
_value0_changed(ui->band0Slider->value());
- ui->band1Slider->setValue(config.getValue("equalizer_preset_"+name+"/band1").toInt());
+ ui->band1Slider->setValue((int)(config.getEqualizerValue("band1", name)*10 + 0.5));
_value1_changed(ui->band1Slider->value());
- ui->band2Slider->setValue(config.getValue("equalizer_preset_"+name+"/band2").toInt());
+ ui->band2Slider->setValue((int)(config.getEqualizerValue("band2", name)*10 + 0.5));
_value2_changed(ui->band2Slider->value());
- ui->band3Slider->setValue(config.getValue("equalizer_preset_"+name+"/band3").toInt());
+ ui->band3Slider->setValue((int)(config.getEqualizerValue("band3", name)*10 + 0.5));
_value3_changed(ui->band3Slider->value());
- ui->band4Slider->setValue(config.getValue("equalizer_preset_"+name+"/band4").toInt());
+ ui->band4Slider->setValue((int)(config.getEqualizerValue("band4", name)*10 + 0.5));
_value4_changed(ui->band4Slider->value());
- ui->band5Slider->setValue(config.getValue("equalizer_preset_"+name+"/band5").toInt());
+ ui->band5Slider->setValue((int)(config.getEqualizerValue("band5", name)*10 + 0.5));
_value5_changed(ui->band5Slider->value());
- ui->band6Slider->setValue(config.getValue("equalizer_preset_"+name+"/band6").toInt());
+ ui->band6Slider->setValue((int)(config.getEqualizerValue("band6", name)*10 + 0.5));
_value6_changed(ui->band6Slider->value());
- ui->band7Slider->setValue(config.getValue("equalizer_preset_"+name+"/band7").toInt());
+ ui->band7Slider->setValue((int)(config.getEqualizerValue("band7", name)*10 + 0.5));
_value7_changed(ui->band7Slider->value());
- ui->band8Slider->setValue(config.getValue("equalizer_preset_"+name+"/band8").toInt());
+ ui->band8Slider->setValue((int)(config.getEqualizerValue("band8", name)*10 + 0.5));
_value8_changed(ui->band8Slider->value());
- ui->band9Slider->setValue(config.getValue("equalizer_preset_"+name+"/band9").toInt());
+ ui->band9Slider->setValue((int)(config.getEqualizerValue("band9", name)*10 + 0.5));
_value9_changed(ui->band9Slider->value());
}
if (desc.name() == "equalizer-10bands") {
_equalizer = new Phonon::Effect(desc, this);
Config config;
- if (config.getValue("equalizer/equalizer").toString() == "enabled") {
+ if (config.equalizerEnabled()) {
for (int i = 0; i < 10; i++) {
- QVariant var = config.getValue(QString("equalizer/band%1").arg(i));
+ QVariant var = config.getEqualizerValue(QString("band%1").arg(i));
setEqualizerValue(i, var.toDouble());
}
enableEqualizer();
- } else if (config.getValue("equalizer/equalizer") == "") {
- for (int i = 0; i < 10; i++) {
- config.setValue(QString("equalizer/band%1").arg(i), 0);
- }
}
}
}
_equalizer_enabled = true;
_path.insertEffect(_equalizer);
Config config;
- config.setValue("equalizer/equalizer", "enabled");
+ config.setEqualizerEnabled(true);
}
void Player::disableEqualizer() {
_equalizer_enabled = false;
_path.removeEffect(_equalizer);
Config config;
- config.setValue("equalizer/equalizer", "disabled");
+ config.setEqualizerEnabled(false);
}
void Player::setEqualizerValue(int band, double value) {
QList<Phonon::EffectParameter> plist = _equalizer->parameters();
_equalizer->setParameterValue(plist[band], QVariant::fromValue(value));
Config config;
- config.setValue(QString("equalizer/band%1").arg(band), value);
+ config.setEqualizerValue(QString("band%1").arg(band), value);
}
QString Player::artist() {