M3U Parser: Apply playlist metadata to song only if it is not in the library.

This commit is contained in:
James D. Smith 2022-03-27 20:32:39 -06:00
parent f1c332a11e
commit d8cd1e00e4
1 changed files with 13 additions and 8 deletions

View File

@ -59,15 +59,20 @@ SongList M3UParser::Load(QIODevice* device, const QString& playlist_path,
}
} else if (!line.isEmpty()) {
Song song = LoadSong(line, 0, dir);
if (!current_metadata.title.isEmpty()) {
song.set_title(current_metadata.title);
}
if (!current_metadata.artist.isEmpty()) {
song.set_artist(current_metadata.artist);
}
if (current_metadata.length > 0) {
song.set_length_nanosec(current_metadata.length);
// Override metadata from playlist if the song is not in the library.
if (!song.is_library_song()) {
if (!current_metadata.title.isEmpty()) {
song.set_title(current_metadata.title);
}
if (!current_metadata.artist.isEmpty()) {
song.set_artist(current_metadata.artist);
}
if (current_metadata.length > 0) {
song.set_length_nanosec(current_metadata.length);
}
}
ret << song;
current_metadata = Metadata();