From 9a7949297e32d083c9517f46ccfaf1b904720294 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Tue, 27 Jun 2023 04:59:45 +0300 Subject: [PATCH] CollectionSettingsPage: add option to toggle `libebur128`-based song analysis Much like song fingerprinting, performing EBU R 128 analysis is optional. If you will want to enable EBU R 128 loudness normalization (which does not depend on the presence of `libebur128`!) you will probably want to enable it, but it is not enabled by default. There will be support for rescanning songs for which it is missing. --- src/settings/collectionsettingspage.cpp | 6 ++++++ src/settings/collectionsettingspage.ui | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/settings/collectionsettingspage.cpp b/src/settings/collectionsettingspage.cpp index de48c5f20..f96e730ab 100644 --- a/src/settings/collectionsettingspage.cpp +++ b/src/settings/collectionsettingspage.cpp @@ -102,6 +102,10 @@ CollectionSettingsPage::CollectionSettingsPage(SettingsDialog *dialog, QWidget * ui_->song_tracking->hide(); #endif +#ifndef HAVE_EBUR128 + ui_->song_ebur128_loudness_analysis->hide(); +#endif + } CollectionSettingsPage::~CollectionSettingsPage() { delete ui_; } @@ -178,6 +182,7 @@ void CollectionSettingsPage::Load() { ui_->startup_scan->setChecked(s.value("startup_scan", true).toBool()); ui_->monitor->setChecked(s.value("monitor", true).toBool()); ui_->song_tracking->setChecked(s.value("song_tracking", false).toBool()); + ui_->song_ebur128_loudness_analysis->setChecked(s.value("song_ebur128_loudness_analysis", false).toBool()); ui_->mark_songs_unavailable->setChecked(ui_->song_tracking->isChecked() ? true : s.value("mark_songs_unavailable", true).toBool()); ui_->expire_unavailable_songs_days->setValue(s.value("expire_unavailable_songs", 60).toInt()); @@ -224,6 +229,7 @@ void CollectionSettingsPage::Save() { s.setValue("startup_scan", ui_->startup_scan->isChecked()); s.setValue("monitor", ui_->monitor->isChecked()); s.setValue("song_tracking", ui_->song_tracking->isChecked()); + s.setValue("song_ebur128_loudness_analysis", ui_->song_ebur128_loudness_analysis->isChecked()); s.setValue("mark_songs_unavailable", ui_->song_tracking->isChecked() ? true : ui_->mark_songs_unavailable->isChecked()); s.setValue("expire_unavailable_songs", ui_->expire_unavailable_songs_days->value()); diff --git a/src/settings/collectionsettingspage.ui b/src/settings/collectionsettingspage.ui index cb4e53668..3b0153053 100644 --- a/src/settings/collectionsettingspage.ui +++ b/src/settings/collectionsettingspage.ui @@ -106,6 +106,13 @@ + + + + Perform song EBU R 128 analysis (required for EBU R 128 loudness normalization) + + +