aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Effect/bs2b/settingsdialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-04-08 18:57:46 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-04-08 18:57:46 +0000
commit3cef10d79faba3e84852de9d6382c503e50bd9b4 (patch)
tree08f73fb6cc508b890f60deaf8da5a92c807397ee /src/plugins/Effect/bs2b/settingsdialog.cpp
parent034a650c7f664a9535410fa299d5159ec1284805 (diff)
downloadqmmp-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.cpp57
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);
+}