diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-04-08 18:57:46 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-04-08 18:57:46 +0000 |
| commit | 3cef10d79faba3e84852de9d6382c503e50bd9b4 (patch) | |
| tree | 08f73fb6cc508b890f60deaf8da5a92c807397ee /src/plugins/Effect/bs2b/settingsdialog.cpp | |
| parent | 034a650c7f664a9535410fa299d5159ec1284805 (diff) | |
| download | qmmp-3cef10d79faba3e84852de9d6382c503e50bd9b4.tar.gz qmmp-3cef10d79faba3e84852de9d6382c503e50bd9b4.tar.bz2 qmmp-3cef10d79faba3e84852de9d6382c503e50bd9b4.zip | |
updated bs2b plugin, removed libbs2b-2.x support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@895 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Effect/bs2b/settingsdialog.cpp')
| -rw-r--r-- | src/plugins/Effect/bs2b/settingsdialog.cpp | 57 |
1 files changed, 46 insertions, 11 deletions
diff --git a/src/plugins/Effect/bs2b/settingsdialog.cpp b/src/plugins/Effect/bs2b/settingsdialog.cpp index 68f3ecd3f..9d29a1a77 100644 --- a/src/plugins/Effect/bs2b/settingsdialog.cpp +++ b/src/plugins/Effect/bs2b/settingsdialog.cpp @@ -21,7 +21,7 @@ #include <QSettings> #include <bs2b/bs2b.h> #include <qmmp/qmmp.h> - +#include "bs2bplugin.h" #include "settingsdialog.h" SettingsDialog::SettingsDialog(QWidget *parent) @@ -29,16 +29,12 @@ SettingsDialog::SettingsDialog(QWidget *parent) { ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose, TRUE); + ui.feedSlider->setRange(BS2B_MINFEED, BS2B_MAXFEED); + ui.freqSlider->setRange(BS2B_MINFCUT, BS2B_MAXFCUT); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - ui.levelComboBox->addItem (tr("low"), BS2B_LOW_CLEVEL); - ui.levelComboBox->addItem (tr("middle"), BS2B_MIDDLE_CLEVEL); - ui.levelComboBox->addItem (tr("high"), BS2B_HIGH_CLEVEL); - ui.levelComboBox->addItem (tr("low (easy version)"), BS2B_LOW_ECLEVEL); - ui.levelComboBox->addItem (tr("middle (easy version)"), BS2B_MIDDLE_ECLEVEL); - ui.levelComboBox->addItem (tr("high (easy version) [default]"), BS2B_HIGH_ECLEVEL); - int index = ui.levelComboBox->findData(settings.value("bs2b/level", BS2B_DEFAULT_CLEVEL).toInt()); - if (index >= 0) - ui.levelComboBox->setCurrentIndex(index); + m_level = settings.value("bs2b/level", BS2B_DEFAULT_CLEVEL).toUInt(); + ui.feedSlider->setValue(m_level >> 16); + ui.freqSlider->setValue(m_level & 0xffff); } SettingsDialog::~SettingsDialog() @@ -48,6 +44,45 @@ SettingsDialog::~SettingsDialog() void SettingsDialog::accept() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); - settings.setValue("bs2b/level", ui.levelComboBox->itemData(ui.levelComboBox->currentIndex()).toInt()); + settings.setValue("bs2b/level", ui.feedSlider->value() << 16 | ui.freqSlider->value()); QDialog::accept(); } + +void SettingsDialog::SettingsDialog::reject() +{ + if (Bs2bPlugin::instance()) //restore crossfeed settings + Bs2bPlugin::instance()->setCrossfeedLevel(m_level); + QDialog::reject(); +} + +void SettingsDialog::on_freqSlider_valueChanged (int value) +{ + ui.freqLabel->setText(QString(tr("%1 Hz, %2 us")).arg(value).arg(bs2b_level_delay(value))); + if (Bs2bPlugin::instance()) + Bs2bPlugin::instance()->setCrossfeedLevel(ui.feedSlider->value() << 16 | ui.freqSlider->value()); +} + +void SettingsDialog::on_feedSlider_valueChanged (int value) +{ + ui.feedLabel->setText(QString(tr("%1 dB")).arg((double)value/10)); + if (Bs2bPlugin::instance()) + Bs2bPlugin::instance()->setCrossfeedLevel(ui.feedSlider->value() << 16 | ui.freqSlider->value()); +} + +void SettingsDialog::on_defaultButton_pressed() +{ + ui.feedSlider->setValue(BS2B_DEFAULT_CLEVEL >> 16); + ui.freqSlider->setValue(BS2B_DEFAULT_CLEVEL & 0xffff); +} + +void SettingsDialog::on_cmButton_pressed () +{ + ui.feedSlider->setValue(BS2B_CMOY_CLEVEL >> 16); + ui.freqSlider->setValue(BS2B_CMOY_CLEVEL & 0xffff); +} + +void SettingsDialog::on_jmButton_pressed () +{ + ui.feedSlider->setValue(BS2B_JMEIER_CLEVEL >> 16); + ui.freqSlider->setValue(BS2B_JMEIER_CLEVEL & 0xffff); +} |
