diff --git a/src/deezer/deezerservice.cpp b/src/deezer/deezerservice.cpp
index 725eb35b0..0dc2810ac 100644
--- a/src/deezer/deezerservice.cpp
+++ b/src/deezer/deezerservice.cpp
@@ -117,7 +117,6 @@ void DeezerService::ReloadSettings() {
QSettings s;
s.beginGroup(DeezerSettingsPage::kSettingsGroup);
- quality_ = s.value("quality", "FLAC").toString();
searchdelay_ = s.value("searchdelay", 1500).toInt();
albumssearchlimit_ = s.value("albumssearchlimit", 100).toInt();
songssearchlimit_ = s.value("songssearchlimit", 100).toInt();
diff --git a/src/deezer/deezerservice.h b/src/deezer/deezerservice.h
index a184e0346..9f69c522e 100644
--- a/src/deezer/deezerservice.h
+++ b/src/deezer/deezerservice.h
@@ -133,7 +133,6 @@ class DeezerService : public InternetService {
#endif
QTimer *timer_searchdelay_;
- QString quality_;
int searchdelay_;
int albumssearchlimit_;
int songssearchlimit_;
diff --git a/src/engine/deezerengine.cpp b/src/engine/deezerengine.cpp
index a33f7175c..9bd2b6072 100644
--- a/src/engine/deezerengine.cpp
+++ b/src/engine/deezerengine.cpp
@@ -61,7 +61,6 @@ DeezerEngine::DeezerEngine(TaskManager *task_manager)
stopping_(false) {
type_ = Engine::Deezer;
- ReloadSettings();
}
@@ -158,11 +157,37 @@ bool DeezerEngine::Init() {
}
LoadAccessToken();
+ ReloadSettings();
return true;
}
+void DeezerEngine::ReloadSettings() {
+
+ QSettings s;
+ s.beginGroup(DeezerSettingsPage::kSettingsGroup);
+ QString quality = s.value("quality", "FLAC").toString();
+ s.endGroup();
+ dz_error_t dzerr;
+
+ if (quality == "MP3_128")
+ dzerr = dz_player_set_track_quality(player_, nullptr, nullptr, DZ_TRACK_QUALITY_STANDARD);
+ else if (quality == "MP3_320")
+ dzerr = dz_player_set_track_quality(player_, nullptr, nullptr, DZ_TRACK_QUALITY_HIGHQUALITY);
+ else if (quality == "FLAC")
+ dzerr = dz_player_set_track_quality(player_, nullptr, nullptr, DZ_TRACK_QUALITY_CDQUALITY);
+ else if (quality == "DATA_EFFICIENT")
+ dzerr = dz_player_set_track_quality(player_, nullptr, nullptr, DZ_TRACK_QUALITY_DATA_EFFICIENT);
+ else
+ dzerr = dz_player_set_track_quality(player_, nullptr, nullptr, DZ_TRACK_QUALITY_CDQUALITY);
+
+ if (dzerr != DZ_ERROR_NO_ERROR) {
+ qLog(Error) << "Deezer: Failed to set quality.";
+ }
+
+}
+
bool DeezerEngine::Initialised() const {
if (connect_ && player_) return true;
diff --git a/src/engine/deezerengine.h b/src/engine/deezerengine.h
index 97979f08c..1780ef5da 100644
--- a/src/engine/deezerengine.h
+++ b/src/engine/deezerengine.h
@@ -45,6 +45,7 @@ class DeezerEngine : public Engine::Base {
~DeezerEngine();
bool Init();
+ void ReloadSettings();
Engine::State state() const { return state_; }
bool Load(const QUrl &media_url, const QUrl &original_url, Engine::TrackChangeFlags change, bool force_stop_at_end, quint64 beginning_nanosec, qint64 end_nanosec);
bool Play(quint64 offset_nanosec);
diff --git a/src/settings/deezersettingspage.cpp b/src/settings/deezersettingspage.cpp
index 16072aac1..cae30c452 100644
--- a/src/settings/deezersettingspage.cpp
+++ b/src/settings/deezersettingspage.cpp
@@ -52,12 +52,10 @@ DeezerSettingsPage::DeezerSettingsPage(SettingsDialog *parent)
dialog()->installEventFilter(this);
- ui_->combobox_quality->addItem("AAC (64)", "AAC_64");
- ui_->combobox_quality->addItem("MP3 (64)", "MP3_64");
- ui_->combobox_quality->addItem("MP3 (128)", "MP3_128");
- ui_->combobox_quality->addItem("MP3 (256)", "MP3_256");
- ui_->combobox_quality->addItem("MP3 (320)", "MP3_320");
- ui_->combobox_quality->addItem("FLAC", "FLAC");
+ ui_->combobox_quality->addItem("MP3 128kbps \"Standard\"", "MP3_128");
+ ui_->combobox_quality->addItem("MP3 320kbps \"High Quality\"", "MP3_320");
+ ui_->combobox_quality->addItem("FLAC \"CD Quality\"", "FLAC");
+ ui_->combobox_quality->addItem("\"Data Efficient\"", "DATA_EFFICIENT");
ui_->combobox_coversize->addItem("Small", "cover_small");
ui_->combobox_coversize->addItem("Medium", "cover_medium");
@@ -74,10 +72,6 @@ void DeezerSettingsPage::Load() {
s.beginGroup(kSettingsGroup);
ui_->checkbox_enable->setChecked(s.value("enabled", false).toBool());
- ui_->username->setText(s.value("username").toString());
- QByteArray password = s.value("password").toByteArray();
- if (password.isEmpty()) ui_->password->clear();
- else ui_->password->setText(QString::fromUtf8(QByteArray::fromBase64(password)));
dialog()->ComboBoxLoadFromSettings(s, ui_->combobox_quality, "quality", "FLAC");
ui_->spinbox_searchdelay->setValue(s.value("searchdelay", 1500).toInt());
ui_->spinbox_albumssearchlimit->setValue(s.value("albumssearchlimit", 100).toInt());
@@ -102,8 +96,6 @@ void DeezerSettingsPage::Save() {
QSettings s;
s.beginGroup(kSettingsGroup);
s.setValue("enabled", ui_->checkbox_enable->isChecked());
- s.setValue("username", ui_->username->text());
- s.setValue("password", QString::fromUtf8(ui_->password->text().toUtf8().toBase64()));
s.setValue("quality", ui_->combobox_quality->itemData(ui_->combobox_quality->currentIndex()));
s.setValue("searchdelay", ui_->spinbox_searchdelay->value());
s.setValue("albumssearchlimit", ui_->spinbox_albumssearchlimit->value());
diff --git a/src/settings/deezersettingspage.ui b/src/settings/deezersettingspage.ui
index 89f78bf9a..d84014da9 100644
--- a/src/settings/deezersettingspage.ui
+++ b/src/settings/deezersettingspage.ui
@@ -7,7 +7,7 @@
0
0
715
- 547
+ 575
@@ -55,76 +55,6 @@
- -
-
-
-
-
-
-
- 70
- 0
-
-
-
- Username
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
- 70
- 0
-
-
-
- Password
-
-
-
- -
-
-
- QLineEdit::Password
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-