From e9e608cfa09792a64fbda0946c92ec396622a088 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 23 Dec 2024 16:08:47 +1100 Subject: Add a new track tag + index for multiple artists We still mostly use the singular 'Artist' tag for e.g. displaying a nice name in the now playing screen, but where a track has an 'ARTISTS=' tag, we'll split by semicolon and then use the resulting list to populate an index of tracks by artist --- src/tangara/database/track.hpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/tangara/database/track.hpp') diff --git a/src/tangara/database/track.hpp b/src/tangara/database/track.hpp index 65c5cfec..21d6349d 100644 --- a/src/tangara/database/track.hpp +++ b/src/tangara/database/track.hpp @@ -73,6 +73,7 @@ enum class Tag { kTrack = 5, kAlbumOrder = 6, kGenres = 7, + kAllArtists = 8, }; using TagValue = std::variant const std::optional&; auto artist(std::string_view) -> void; + auto allArtists() const -> std::span; + auto allArtists(const std::string_view) -> void; + auto album() const -> const std::optional&; auto album(std::string_view) -> void; @@ -144,6 +148,7 @@ class TrackTags { std::optional title_; std::optional artist_; + std::pmr::vector allArtists_; std::optional album_; std::optional album_artist_; std::optional disc_; -- cgit v1.2.3