Added a way to filter by record label, display labels in the release info panel

This commit is contained in:
emeric
2025-02-08 18:56:54 +01:00
parent bebe384376
commit 13698c379b
30 changed files with 234 additions and 8 deletions
@@ -104,6 +104,7 @@ namespace lms::feedback
searchParams.setSortMethod(params.sortMethod);
searchParams.setRange(params.range);
searchParams.setMediaLibrary(params.library);
searchParams.setLabel(params.label);
Session& session{ _db.getTLSSession() };
auto transaction{ session.createReadTransaction() };
@@ -154,6 +155,7 @@ namespace lms::feedback
searchParams.setSortMethod(ReleaseSortMethod::StarredDateDesc);
searchParams.setRange(params.range);
searchParams.setMediaLibrary(params.library);
searchParams.setLabel(params.label);
Session& session{ _db.getTLSSession() };
auto transaction{ session.createReadTransaction() };
@@ -204,6 +206,7 @@ namespace lms::feedback
searchParams.setSortMethod(TrackSortMethod::StarredDateDesc);
searchParams.setRange(params.range);
searchParams.setMediaLibrary(params.library);
searchParams.setLabel(params.label);
Session& session{ _db.getTLSSession() };
auto transaction{ session.createReadTransaction() };
@@ -28,6 +28,7 @@
#include "database/ArtistId.hpp"
#include "database/ClusterId.hpp"
#include "database/LabelId.hpp"
#include "database/MediaLibraryId.hpp"
#include "database/ReleaseId.hpp"
#include "database/TrackId.hpp"
@@ -57,6 +58,7 @@ namespace lms::feedback
std::vector<std::string_view> keywords; // if non empty, name must match all of these keywords
std::optional<db::Range> range;
db::MediaLibraryId library;
db::LabelId label;
FindParameters& setUser(const db::UserId _user)
{
@@ -83,6 +85,11 @@ namespace lms::feedback
library = _library;
return *this;
}
FindParameters& setLabel(db::LabelId _label)
{
label = _label;
return *this;
}
};
// Artists
@@ -45,6 +45,7 @@ namespace lms::scrobbling
listenFindParams.setKeywords(params.keywords);
listenFindParams.setRange(params.range);
listenFindParams.setMediaLibrary(params.library);
listenFindParams.setLabel(params.label);
listenFindParams.setArtist(params.artist);
return listenFindParams;
@@ -29,6 +29,7 @@
#include "database/ArtistId.hpp"
#include "database/ClusterId.hpp"
#include "database/LabelId.hpp"
#include "database/MediaLibraryId.hpp"
#include "database/ReleaseId.hpp"
#include "database/TrackId.hpp"
@@ -65,6 +66,7 @@ namespace lms::scrobbling
std::vector<std::string_view> keywords; // if non empty, name must match all of these keywords
std::optional<db::Range> range;
db::MediaLibraryId library; // if set, match this library
db::LabelId label; // if set, match this label
db::ArtistId artist; // if set, match this artist
FindParameters& setUser(const db::UserId _user)
@@ -92,6 +94,11 @@ namespace lms::scrobbling
library = _library;
return *this;
}
FindParameters& setLabel(db::LabelId _label)
{
label = _label;
return *this;
}
FindParameters& setArtist(db::ArtistId _artist)
{
artist = _artist;