summaryrefslogtreecommitdiff
path: root/src/tangara/database/index.cpp
diff options
context:
space:
mode:
authorcooljqln <cooljqln@noreply.codeberg.org>2025-01-02 00:59:43 +0000
committercooljqln <cooljqln@noreply.codeberg.org>2025-01-02 00:59:43 +0000
commit25ecf038acf12f1eb766a5b9977b30b5f7688a50 (patch)
tree583d705f1648e714bf72c6fc256589474de93c80 /src/tangara/database/index.cpp
parent943e3b0f73666ec6a6ccc651f834b1e5c97bfd76 (diff)
parent824fca8cd0913a4f1603cdedd046c420840a3e65 (diff)
downloadtangara-fw-25ecf038acf12f1eb766a5b9977b30b5f7688a50.tar.gz
Merge pull request 'Add an 'All Artists' index including tracks under multiple artists' (#144) from jqln/all-artists into main
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/144
Diffstat (limited to 'src/tangara/database/index.cpp')
-rw-r--r--src/tangara/database/index.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/tangara/database/index.cpp b/src/tangara/database/index.cpp
index 1cdc0d07..e60f56d5 100644
--- a/src/tangara/database/index.cpp
+++ b/src/tangara/database/index.cpp
@@ -56,15 +56,22 @@ const IndexInfo kAllAlbums{
.components = {Tag::kAlbum, Tag::kAlbumOrder},
};
-const IndexInfo kPodcasts{
+const IndexInfo kAllArtists{
.id = 5,
+ .type = MediaType::kMusic,
+ .name = "All Artists",
+ .components = {Tag::kAllArtists, Tag::kTitle},
+};
+
+const IndexInfo kPodcasts{
+ .id = 6,
.type = MediaType::kPodcast,
.name = "Podcasts",
.components = {Tag::kAlbum, Tag::kTitle},
};
const IndexInfo kAudiobooks{
- .id = 6,
+ .id = 7,
.type = MediaType::kAudiobook,
.name = "Audiobooks",
.components = {Tag::kAlbum, Tag::kAlbumOrder},
@@ -109,11 +116,12 @@ class Indexer {
case Tag::kTitle:
return titleOrFilename(track_data_, track_tags_);
case Tag::kArtist:
+ case Tag::kAlbumArtist:
return "Unknown Artist";
case Tag::kAlbum:
return "Unknown Album";
- case Tag::kAlbumArtist:
- return track_tags_.artist().value_or("Unknown Artist");
+ case Tag::kAllArtists:
+ return std::pmr::vector<std::pmr::string>{};
case Tag::kGenres:
return std::pmr::vector<std::pmr::string>{};
case Tag::kDisc: