summaryrefslogtreecommitdiff
path: root/src/tangara/database
diff options
context:
space:
mode:
authorailurux <ailuruxx@gmail.com>2024-09-24 13:41:36 +1000
committerailurux <ailuruxx@gmail.com>2024-09-24 13:41:36 +1000
commit5e43b422182b300074a2d2e02736557d34434996 (patch)
treef98b15c1f1c39e49aa4257774066ab6793c98608 /src/tangara/database
parent2bc191e63d5f6390360b1be98eb39a6a637b0934 (diff)
downloadtangara-fw-5e43b422182b300074a2d2e02736557d34434996.tar.gz
Adds audiobook index to available indexes
Diffstat (limited to 'src/tangara/database')
-rw-r--r--src/tangara/database/database.cpp2
-rw-r--r--src/tangara/database/index.cpp7
-rw-r--r--src/tangara/database/index.hpp1
3 files changed, 9 insertions, 1 deletions
diff --git a/src/tangara/database/database.cpp b/src/tangara/database/database.cpp
index adad74be..f939725a 100644
--- a/src/tangara/database/database.cpp
+++ b/src/tangara/database/database.cpp
@@ -293,7 +293,7 @@ auto Database::getIndexes() -> std::vector<IndexInfo> {
// TODO(jacqueline): This probably needs to be async? When we have runtime
// configurable indexes, they will need to come from somewhere.
return {
- kAllTracks, kAllAlbums, kAlbumsByArtist, kTracksByGenre, kPodcasts,
+ kAllTracks, kAllAlbums, kAlbumsByArtist, kTracksByGenre, kPodcasts, kAudiobooks
};
}
diff --git a/src/tangara/database/index.cpp b/src/tangara/database/index.cpp
index 23d5e04b..0ced27ed 100644
--- a/src/tangara/database/index.cpp
+++ b/src/tangara/database/index.cpp
@@ -63,6 +63,13 @@ const IndexInfo kPodcasts{
.components = {Tag::kTitle},
};
+const IndexInfo kAudiobooks{
+ .id = 6,
+ .type = MediaType::kAudiobook,
+ .name = "Audiobooks",
+ .components = {Tag::kAlbum, Tag::kAlbumOrder},
+};
+
static auto titleOrFilename(const TrackData& data, const TrackTags& tags)
-> std::pmr::string {
auto title = tags.title();
diff --git a/src/tangara/database/index.hpp b/src/tangara/database/index.hpp
index d1c10a36..e1c6283a 100644
--- a/src/tangara/database/index.hpp
+++ b/src/tangara/database/index.hpp
@@ -79,5 +79,6 @@ extern const IndexInfo kTracksByGenre;
extern const IndexInfo kAllTracks;
extern const IndexInfo kAllAlbums;
extern const IndexInfo kPodcasts;
+extern const IndexInfo kAudiobooks;
} // namespace database