Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mixxxdj/mixxx
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: b8c9f83939d6c95fe4d1170900eb925ca92e3ce7
Choose a base ref
..
head repository: mixxxdj/mixxx
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 92cbcd31fcf7a0de1db3a160e45c1b98c963132b
Choose a head ref
Showing with 72 additions and 38 deletions.
  1. +64 −34 src/preferences/dialog/dlgprefreplaygain.cpp
  2. +8 −4 src/preferences/dialog/dlgprefreplaygain.h
98 changes: 64 additions & 34 deletions src/preferences/dialog/dlgprefreplaygain.cpp
Original file line number Diff line number Diff line change
@@ -19,22 +19,19 @@ DlgPrefReplayGain::DlgPrefReplayGain(QWidget* parent, UserSettingsPointer pConfi
m_enabled(kConfigKey, kReplayGainEnabled) {
setupUi(this);

connect(EnableGain,
&QCheckBox::stateChanged,
this,
&DlgPrefReplayGain::slotRGEnabledChanged);
connect(EnableGain, &QCheckBox::stateChanged, this, &DlgPrefReplayGain::slotSetRGEnabled);
connect(buttonGroupAnalyzer,
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
&QButtonGroup::idClicked,
#else
QOverload<int>::of(&QButtonGroup::buttonClicked),
#endif
this,
&DlgPrefReplayGain::slotRGAnalyzerChanged);
&DlgPrefReplayGain::slotSetRGAnalyzerChanged);
connect(SliderReplayGainBoost,
&QAbstractSlider::valueChanged,
this,
&DlgPrefReplayGain::slotReplayGainBoostChanged);
&DlgPrefReplayGain::slotUpdateReplayGainBoost);
connect(SliderReplayGainBoost,
&QAbstractSlider::sliderReleased,
this,
@@ -44,29 +41,36 @@ DlgPrefReplayGain::DlgPrefReplayGain(QWidget* parent, UserSettingsPointer pConfi
connect(SliderDefaultBoost,
&QAbstractSlider::valueChanged,
this,
&DlgPrefReplayGain::slotDefaultBoostChanged);
&DlgPrefReplayGain::slotUpdateDefaultBoost);
connect(SliderDefaultBoost,
&QAbstractSlider::sliderReleased,
this,
&DlgPrefReplayGain::slotApply);
setScrollSafeGuard(SliderDefaultBoost);

connect(checkBoxReanalyze,
&QCheckBox::stateChanged,
this,
&DlgPrefReplayGain::slotSetReanalyze);

loadSettings();
}

DlgPrefReplayGain::~DlgPrefReplayGain() {
}

void DlgPrefReplayGain::slotUpdate() {
bool enabled = m_rgSettings.getReplayGainEnabled();
EnableGain->setChecked(enabled);
slotRGEnabledChanged(enabled);

void DlgPrefReplayGain::loadSettings() {
int iReplayGainBoost = m_rgSettings.getInitialReplayGainBoost();
SliderReplayGainBoost->setValue(iReplayGainBoost);
setLabelCurrentReplayGainBoost(iReplayGainBoost);

int iDefaultBoost = m_rgSettings.getInitialDefaultBoost();
SliderDefaultBoost->setValue(iDefaultBoost);
slotDefaultBoostChanged(iDefaultBoost);
LabelCurrentDefaultBoost->setText(
QString("%1 dB").arg(iDefaultBoost));

bool gainEnabled = m_rgSettings.getReplayGainEnabled();
EnableGain->setChecked(gainEnabled);

bool analyzerEnabled = m_rgSettings.getReplayGainAnalyzerEnabled();
int version = m_rgSettings.getReplayGainAnalyzerVersion();
@@ -81,22 +85,10 @@ void DlgPrefReplayGain::slotUpdate() {

bool reanalyse = m_rgSettings.getReplayGainReanalyze();
checkBoxReanalyze->setChecked(reanalyse);
}

void DlgPrefReplayGain::slotApply() {
m_rgSettings.setReplayGainEnabled(EnableGain->isChecked());
m_enabled.set(EnableGain->isChecked() ? 1.0 : 0.0);

double replayGainBoostDb = SliderReplayGainBoost->value();
m_replayGainBoost.set(db2ratio(replayGainBoostDb));
double defaultBoostDb = SliderDefaultBoost->value();
m_defaultBoost.set(db2ratio(defaultBoostDb));

m_rgSettings.setReplayGainAnalyzerEnabled(isReplayGainAnalyzerEnabled());
m_rgSettings.setReplayGainAnalyzerVersion(getReplayGainVersion());
m_rgSettings.setInitialReplayGainBoost(SliderReplayGainBoost->value());
m_rgSettings.setInitialDefaultBoost(SliderDefaultBoost->value());
m_rgSettings.setReplayGainReanalyze(checkBoxReanalyze->isChecked());
slotUpdate();
slotUpdateReplayGainBoost();
slotUpdateDefaultBoost();
}

void DlgPrefReplayGain::slotResetToDefaults() {
@@ -115,11 +107,16 @@ void DlgPrefReplayGain::slotResetToDefaults() {
SliderDefaultBoost->setValue(iDefaultBoost);
LabelCurrentDefaultBoost->setText(
QString("%1 dB").arg(iDefaultBoost));


slotUpdate();
slotApply();
}

void DlgPrefReplayGain::slotRGEnabledChanged(bool enabled) {
SliderReplayGainBoost->setEnabled(enabled);
SliderDefaultBoost->setEnabled(enabled);
void DlgPrefReplayGain::slotSetRGEnabled() {
m_rgSettings.setReplayGainEnabled(EnableGain->isChecked());
slotUpdate();
slotApply();
}

bool DlgPrefReplayGain::isReplayGainAnalyzerEnabled() const {
@@ -133,12 +130,18 @@ int DlgPrefReplayGain::getReplayGainVersion() const {
return 2;
}

void DlgPrefReplayGain::slotRGAnalyzerChanged() {
void DlgPrefReplayGain::slotSetRGAnalyzerChanged() {
m_rgSettings.setReplayGainAnalyzerEnabled(isReplayGainAnalyzerEnabled());
checkBoxReanalyze->setEnabled(isReplayGainAnalyzerEnabled());
m_rgSettings.setReplayGainAnalyzerVersion(getReplayGainVersion());
slotApply();
}

void DlgPrefReplayGain::slotReplayGainBoostChanged(int value) {
void DlgPrefReplayGain::slotUpdateReplayGainBoost() {
int value = SliderReplayGainBoost->value();
m_rgSettings.setInitialReplayGainBoost(value);
setLabelCurrentReplayGainBoost(value);
slotApply();
}

void DlgPrefReplayGain::setLabelCurrentReplayGainBoost(int value) {
@@ -149,7 +152,34 @@ void DlgPrefReplayGain::setLabelCurrentReplayGainBoost(int value) {
QString::number(value)));
}

void DlgPrefReplayGain::slotDefaultBoostChanged(int value) {
void DlgPrefReplayGain::slotUpdateDefaultBoost() {
int value = SliderDefaultBoost->value();
m_rgSettings.setInitialDefaultBoost(value);
LabelCurrentDefaultBoost->setText(
QString("%1 dB").arg(value));
slotApply();
}

void DlgPrefReplayGain::slotUpdate() {
if (m_rgSettings.getReplayGainEnabled()) {
SliderReplayGainBoost->setEnabled(true);
SliderDefaultBoost->setEnabled(true);
} else {
SliderReplayGainBoost->setEnabled(false);
SliderDefaultBoost->setEnabled(false);
}
}

void DlgPrefReplayGain::slotApply() {
double replayGainBoostDb = SliderReplayGainBoost->value();
m_replayGainBoost.set(db2ratio(replayGainBoostDb));
double defaultBoostDb = SliderDefaultBoost->value();
m_defaultBoost.set(db2ratio(defaultBoostDb));
m_enabled.set(EnableGain->isChecked() ? 1.0 : 0.0);
}

void DlgPrefReplayGain::slotSetReanalyze() {
bool checked = checkBoxReanalyze->isChecked();
m_rgSettings.setReplayGainReanalyze(checked);
slotApply();
}
12 changes: 8 additions & 4 deletions src/preferences/dialog/dlgprefreplaygain.h
Original file line number Diff line number Diff line change
@@ -17,10 +17,12 @@ class DlgPrefReplayGain: public DlgPreferencePage,
virtual ~DlgPrefReplayGain();

public slots:
void slotReplayGainBoostChanged(int value);
void slotDefaultBoostChanged(int value);
void slotRGEnabledChanged(bool enabled);
void slotRGAnalyzerChanged();
// Update initial gain increment
void slotUpdateReplayGainBoost();
void slotUpdateDefaultBoost();
void slotSetRGEnabled();
void slotSetRGAnalyzerChanged();
void slotSetReanalyze();

void slotApply() override;
void slotUpdate() override;
@@ -30,6 +32,8 @@ class DlgPrefReplayGain: public DlgPreferencePage,
void apply(const QString &);

private:
// Determines whether or not to gray out the preferences
void loadSettings();
void setLabelCurrentReplayGainBoost(int value);
bool isReplayGainAnalyzerEnabled() const;
int getReplayGainVersion() const;