summaryrefslogtreecommitdiff
path: root/src/tangara/database/index.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-12-23 16:08:47 +1100
committerjacqueline <me@jacqueline.id.au>2024-12-30 14:59:54 +1100
commite9e608cfa09792a64fbda0946c92ec396622a088 (patch)
treece1ad5109ed338c71438e7491481d8d81843093f /src/tangara/database/index.cpp
parente09ab5f6fbcc6395d5f0fbe7e5407483358919c3 (diff)
downloadtangara-fw-e9e608cfa09792a64fbda0946c92ec396622a088.tar.gz
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
Diffstat (limited to 'src/tangara/database/index.cpp')
-rw-r--r--src/tangara/database/index.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/tangara/database/index.cpp b/src/tangara/database/index.cpp
index 1cdc0d07..58a7ead4 100644
--- a/src/tangara/database/index.cpp
+++ b/src/tangara/database/index.cpp
@@ -56,6 +56,13 @@ const IndexInfo kAllAlbums{
.components = {Tag::kAlbum, Tag::kAlbumOrder},
};
+const IndexInfo kAllArtists{
+ .id = 7,
+ .type = MediaType::kMusic,
+ .name = "All Artists",
+ .components = {Tag::kAllArtists, Tag::kTitle},
+};
+
const IndexInfo kPodcasts{
.id = 5,
.type = MediaType::kPodcast,
@@ -114,6 +121,8 @@ class Indexer {
return "Unknown Album";
case Tag::kAlbumArtist:
return track_tags_.artist().value_or("Unknown Artist");
+ case Tag::kAllArtists:
+ return track_tags_.artist().value_or("Unknown Artist");
case Tag::kGenres:
return std::pmr::vector<std::pmr::string>{};
case Tag::kDisc: