From f4d8d73970325d121f713565c45381d31b2bf5dc Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 12 Dec 2021 01:43:46 +0100 Subject: [PATCH] Always save metadata in playlist for Tidal, Qobuz and Subsonic songs Fixes #851 --- src/playlistparsers/m3uparser.cpp | 4 ++-- src/playlistparsers/xspfparser.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/playlistparsers/m3uparser.cpp b/src/playlistparsers/m3uparser.cpp index 0db0091a..9e2f8454 100644 --- a/src/playlistparsers/m3uparser.cpp +++ b/src/playlistparsers/m3uparser.cpp @@ -131,14 +131,14 @@ void M3UParser::Save(const SongList &songs, QIODevice *device, const QDir &dir, QSettings s; s.beginGroup(Playlist::kSettingsGroup); - bool writeMetadata = s.value(Playlist::kWriteMetadata, true).toBool(); + bool write_metadata = s.value(Playlist::kWriteMetadata, true).toBool(); s.endGroup(); for (const Song &song : songs) { if (song.url().isEmpty()) { continue; } - if (writeMetadata) { + if (write_metadata || (song.is_stream() && !song.is_radio())) { QString meta = QString("#EXTINF:%1,%2 - %3\n").arg(song.length_nanosec() / kNsecPerSec).arg(song.artist(), song.title()); device->write(meta.toUtf8()); } diff --git a/src/playlistparsers/xspfparser.cpp b/src/playlistparsers/xspfparser.cpp index d053ea91..4b2ee7ee 100644 --- a/src/playlistparsers/xspfparser.cpp +++ b/src/playlistparsers/xspfparser.cpp @@ -149,7 +149,7 @@ void XSPFParser::Save(const SongList &songs, QIODevice *device, const QDir &dir, QSettings s; s.beginGroup(Playlist::kSettingsGroup); - bool writeMetadata = s.value(Playlist::kWriteMetadata, true).toBool(); + bool write_metadata = s.value(Playlist::kWriteMetadata, true).toBool(); s.endGroup(); StreamElement tracklist("trackList", &writer); @@ -159,7 +159,7 @@ void XSPFParser::Save(const SongList &songs, QIODevice *device, const QDir &dir, StreamElement track("track", &writer); writer.writeTextElement("location", filename_or_url); - if (writeMetadata) { + if (write_metadata || (song.is_stream() && !song.is_radio())) { writer.writeTextElement("title", song.title()); if (!song.artist().isEmpty()) { writer.writeTextElement("creator", song.artist());