diff options
| author | cooljqln <cooljqln@noreply.codeberg.org> | 2025-01-02 00:59:43 +0000 |
|---|---|---|
| committer | cooljqln <cooljqln@noreply.codeberg.org> | 2025-01-02 00:59:43 +0000 |
| commit | 25ecf038acf12f1eb766a5b9977b30b5f7688a50 (patch) | |
| tree | 583d705f1648e714bf72c6fc256589474de93c80 /src/tangara/database/index.cpp | |
| parent | 943e3b0f73666ec6a6ccc651f834b1e5c97bfd76 (diff) | |
| parent | 824fca8cd0913a4f1603cdedd046c420840a3e65 (diff) | |
| download | tangara-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.cpp | 16 |
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: |
