Make Deezer engine use quality setting
This commit is contained in:
@@ -117,7 +117,6 @@ void DeezerService::ReloadSettings() {
|
|||||||
|
|
||||||
QSettings s;
|
QSettings s;
|
||||||
s.beginGroup(DeezerSettingsPage::kSettingsGroup);
|
s.beginGroup(DeezerSettingsPage::kSettingsGroup);
|
||||||
quality_ = s.value("quality", "FLAC").toString();
|
|
||||||
searchdelay_ = s.value("searchdelay", 1500).toInt();
|
searchdelay_ = s.value("searchdelay", 1500).toInt();
|
||||||
albumssearchlimit_ = s.value("albumssearchlimit", 100).toInt();
|
albumssearchlimit_ = s.value("albumssearchlimit", 100).toInt();
|
||||||
songssearchlimit_ = s.value("songssearchlimit", 100).toInt();
|
songssearchlimit_ = s.value("songssearchlimit", 100).toInt();
|
||||||
|
|||||||
@@ -133,7 +133,6 @@ class DeezerService : public InternetService {
|
|||||||
#endif
|
#endif
|
||||||
QTimer *timer_searchdelay_;
|
QTimer *timer_searchdelay_;
|
||||||
|
|
||||||
QString quality_;
|
|
||||||
int searchdelay_;
|
int searchdelay_;
|
||||||
int albumssearchlimit_;
|
int albumssearchlimit_;
|
||||||
int songssearchlimit_;
|
int songssearchlimit_;
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ DeezerEngine::DeezerEngine(TaskManager *task_manager)
|
|||||||
stopping_(false) {
|
stopping_(false) {
|
||||||
|
|
||||||
type_ = Engine::Deezer;
|
type_ = Engine::Deezer;
|
||||||
ReloadSettings();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,11 +157,37 @@ bool DeezerEngine::Init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
LoadAccessToken();
|
LoadAccessToken();
|
||||||
|
ReloadSettings();
|
||||||
|
|
||||||
return true;
|
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 {
|
bool DeezerEngine::Initialised() const {
|
||||||
|
|
||||||
if (connect_ && player_) return true;
|
if (connect_ && player_) return true;
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class DeezerEngine : public Engine::Base {
|
|||||||
~DeezerEngine();
|
~DeezerEngine();
|
||||||
|
|
||||||
bool Init();
|
bool Init();
|
||||||
|
void ReloadSettings();
|
||||||
Engine::State state() const { return state_; }
|
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 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);
|
bool Play(quint64 offset_nanosec);
|
||||||
|
|||||||
@@ -52,12 +52,10 @@ DeezerSettingsPage::DeezerSettingsPage(SettingsDialog *parent)
|
|||||||
|
|
||||||
dialog()->installEventFilter(this);
|
dialog()->installEventFilter(this);
|
||||||
|
|
||||||
ui_->combobox_quality->addItem("AAC (64)", "AAC_64");
|
ui_->combobox_quality->addItem("MP3 128kbps \"Standard\"", "MP3_128");
|
||||||
ui_->combobox_quality->addItem("MP3 (64)", "MP3_64");
|
ui_->combobox_quality->addItem("MP3 320kbps \"High Quality\"", "MP3_320");
|
||||||
ui_->combobox_quality->addItem("MP3 (128)", "MP3_128");
|
ui_->combobox_quality->addItem("FLAC \"CD Quality\"", "FLAC");
|
||||||
ui_->combobox_quality->addItem("MP3 (256)", "MP3_256");
|
ui_->combobox_quality->addItem("\"Data Efficient\"", "DATA_EFFICIENT");
|
||||||
ui_->combobox_quality->addItem("MP3 (320)", "MP3_320");
|
|
||||||
ui_->combobox_quality->addItem("FLAC", "FLAC");
|
|
||||||
|
|
||||||
ui_->combobox_coversize->addItem("Small", "cover_small");
|
ui_->combobox_coversize->addItem("Small", "cover_small");
|
||||||
ui_->combobox_coversize->addItem("Medium", "cover_medium");
|
ui_->combobox_coversize->addItem("Medium", "cover_medium");
|
||||||
@@ -74,10 +72,6 @@ void DeezerSettingsPage::Load() {
|
|||||||
|
|
||||||
s.beginGroup(kSettingsGroup);
|
s.beginGroup(kSettingsGroup);
|
||||||
ui_->checkbox_enable->setChecked(s.value("enabled", false).toBool());
|
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");
|
dialog()->ComboBoxLoadFromSettings(s, ui_->combobox_quality, "quality", "FLAC");
|
||||||
ui_->spinbox_searchdelay->setValue(s.value("searchdelay", 1500).toInt());
|
ui_->spinbox_searchdelay->setValue(s.value("searchdelay", 1500).toInt());
|
||||||
ui_->spinbox_albumssearchlimit->setValue(s.value("albumssearchlimit", 100).toInt());
|
ui_->spinbox_albumssearchlimit->setValue(s.value("albumssearchlimit", 100).toInt());
|
||||||
@@ -102,8 +96,6 @@ void DeezerSettingsPage::Save() {
|
|||||||
QSettings s;
|
QSettings s;
|
||||||
s.beginGroup(kSettingsGroup);
|
s.beginGroup(kSettingsGroup);
|
||||||
s.setValue("enabled", ui_->checkbox_enable->isChecked());
|
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("quality", ui_->combobox_quality->itemData(ui_->combobox_quality->currentIndex()));
|
||||||
s.setValue("searchdelay", ui_->spinbox_searchdelay->value());
|
s.setValue("searchdelay", ui_->spinbox_searchdelay->value());
|
||||||
s.setValue("albumssearchlimit", ui_->spinbox_albumssearchlimit->value());
|
s.setValue("albumssearchlimit", ui_->spinbox_albumssearchlimit->value());
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>715</width>
|
<width>715</width>
|
||||||
<height>547</height>
|
<height>575</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -55,76 +55,6 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="layout_username">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_username">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>70</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Username</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="username"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="spacer_username">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="layout_password">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_password">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>70</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Password</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="password">
|
|
||||||
<property name="echoMode">
|
|
||||||
<enum>QLineEdit::Password</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="spacer_password">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="LoginStateWidget" name="login_state" native="true"/>
|
<widget class="LoginStateWidget" name="login_state" native="true"/>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
Reference in New Issue
Block a user