Improve album cover searching and cover manager, use HttpStatusCodeAttribute and QSslError for services

- Improve album cover manager
- Change art_automatic and art_manual to QUrl
- Refresh collection album covers when new album covers are fetched
- Fix automatic album cover searching for local files outside of the collection
- Make all Json services check HttpStatusCodeAttribute
- Show detailed SSL errors for Subsonic, Tidal and Qobuz
This commit is contained in:
Jonas Kvinge
2019-07-07 21:14:24 +02:00
parent c92a7967ea
commit 65780e1672
101 changed files with 1531 additions and 1239 deletions

View File

@@ -206,6 +206,7 @@ private:
};
struct SimpleMetaBundle {
SimpleMetaBundle() : length(-1), year(-1), track(-1), samplerate(-1), bitdepth(-1) {}
QUrl url;
QString title;
QString artist;
@@ -214,7 +215,7 @@ struct SimpleMetaBundle {
QString genre;
qlonglong length;
int year;
int tracknr;
int track;
Song::FileType filetype;
int samplerate;
int bitdepth;

View File

@@ -624,7 +624,7 @@ void GstEnginePipeline::TagMessageReceived(GstMessage *msg) {
bundle.album = ParseStrTag(taglist, GST_TAG_ALBUM);
bundle.length = 0;
bundle.year = 0;
bundle.tracknr = 0;
bundle.track = 0;
bundle.filetype = Song::FileType_Unknown;
bundle.samplerate = 0;
bundle.bitdepth = 0;

View File

@@ -821,7 +821,7 @@ Engine::SimpleMetaBundle XineEngine::FetchMetaData() const {
bundle.length = 0;
bundle.year = QString::fromUtf8(xine_get_meta_info(stream_, XINE_META_INFO_YEAR)).toInt();
bundle.tracknr = QString::fromUtf8(xine_get_meta_info(stream_, XINE_META_INFO_TRACK_NUMBER)).toInt();
bundle.track = QString::fromUtf8(xine_get_meta_info(stream_, XINE_META_INFO_TRACK_NUMBER)).toInt();
bundle.samplerate = xine_get_stream_info(stream_, XINE_STREAM_INFO_AUDIO_SAMPLERATE);
bundle.bitdepth = xine_get_stream_info(stream_, XINE_STREAM_INFO_AUDIO_BITS);
@@ -834,7 +834,7 @@ Engine::SimpleMetaBundle XineEngine::FetchMetaData() const {
<< bundle.genre
<< bundle.length
<< bundle.year
<< bundle.tracknr
<< bundle.track
<< bundle.samplerate
<< bundle.bitdepth
<< bundle.bitrate;