Various minor cleanup

This commit is contained in:
emeric
2024-12-06 14:08:31 +01:00
parent 5ce99411e1
commit 06fd444d26
54 changed files with 113 additions and 144 deletions
@@ -19,11 +19,8 @@
#include "RecommendationService.hpp"
#include <unordered_map>
#include <vector>
#include "core/Exception.hpp"
#include "core/ILogger.hpp"
#include "database/Db.hpp"
#include "database/ScanSettings.hpp"
#include "database/Session.hpp"
@@ -42,8 +42,7 @@ namespace lms::recommendation
{
public:
RecommendationService(db::Db& db);
~RecommendationService() = default;
~RecommendationService() override= default;
RecommendationService(const RecommendationService&) = delete;
RecommendationService& operator=(const RecommendationService&) = delete;
@@ -51,7 +50,7 @@ namespace lms::recommendation
void load() override;
TrackContainer findSimilarTracks(db::TrackListId tracklistId, std::size_t maxCount) const override;
TrackContainer findSimilarTracks(const std::vector<db::TrackId>& tracksId, std::size_t maxCount) const override;
TrackContainer findSimilarTracks(const std::vector<db::TrackId>& trackIds, std::size_t maxCount) const override;
ReleaseContainer getSimilarReleases(db::ReleaseId releaseId, std::size_t maxCount) const override;
ArtistContainer getSimilarArtists(db::ArtistId artistId, core::EnumSet<db::TrackArtistLinkType> linkTypes, std::size_t maxCount) const override;
@@ -45,7 +45,7 @@ namespace lms::recommendation
Session& dbSession{ _db.getTLSSession() };
auto transaction{ dbSession.createReadTransaction() };
const auto similarTrackIds{ Track::findSimilarTrackIds(dbSession, trackIds, Range{ 0, maxCount }) };
auto similarTrackIds{ Track::findSimilarTrackIds(dbSession, trackIds, Range{ 0, maxCount }) };
return std::move(similarTrackIds.results);
}
@@ -105,7 +105,7 @@ namespace lms::recommendation
if (!artist)
return {};
const auto similarArtistIds{ artist->findSimilarArtistIds(artistLinkTypes, Range{ 0, maxCount }) };
auto similarArtistIds{ artist->findSimilarArtistIds(artistLinkTypes, Range{ 0, maxCount }) };
return std::move(similarArtistIds.results);
}
@@ -30,17 +30,18 @@ namespace lms::recommendation
ClusterEngine(db::Db& db)
: _db{ db } {}
~ClusterEngine() override = default;
ClusterEngine(const ClusterEngine&) = delete;
ClusterEngine(ClusterEngine&&) = delete;
ClusterEngine& operator=(const ClusterEngine&) = delete;
ClusterEngine& operator=(ClusterEngine&&) = delete;
private:
void load(bool, const ProgressCallback&) override {}
void load(bool /*forceReload*/, const ProgressCallback& /*progressCallback*/) override {}
void requestCancelLoad() override {}
TrackContainer findSimilarTracksFromTrackList(db::TrackListId tracklistId, std::size_t maxCount) const override;
TrackContainer findSimilarTracks(const std::vector<db::TrackId>& tracksId, std::size_t maxCount) const override;
TrackContainer findSimilarTracks(const std::vector<db::TrackId>& trackIds, std::size_t maxCount) const override;
ReleaseContainer getSimilarReleases(db::ReleaseId releaseId, std::size_t maxCount) const override;
ArtistContainer getSimilarArtists(db::ArtistId artistId, core::EnumSet<db::TrackArtistLinkType> linkTypes, std::size_t maxCount) const override;
@@ -21,7 +21,6 @@
#include <algorithm>
#include "core/ILogger.hpp"
#include "database/Db.hpp"
#include "database/Release.hpp"
#include "database/Session.hpp"
@@ -21,8 +21,6 @@
#include "IConstraint.hpp"
#include "database/ReleaseId.hpp"
namespace lms::db
{
class Db;
@@ -34,6 +32,9 @@ namespace lms::recommendation::PlaylistGeneratorConstraint
{
public:
ConsecutiveArtists(db::Db& db);
~ConsecutiveArtists() override = default;
ConsecutiveArtists(const ConsecutiveArtists&) = delete;
ConsecutiveArtists& operator=(const ConsecutiveArtists&) = delete;
private:
float computeScore(const TrackContainer& trackIds, std::size_t trackIndex) override;
@@ -19,7 +19,6 @@
#include "ConsecutiveReleases.hpp"
#include "core/ILogger.hpp"
#include "database/Db.hpp"
#include "database/Release.hpp"
#include "database/Session.hpp"
@@ -46,10 +45,10 @@ namespace lms::recommendation::PlaylistGeneratorConstraint
for (std::size_t i{ 1 }; i < rangeSize; ++i)
{
if ((trackIndex >= i) && getReleaseId(trackIds[trackIndex - i]) == releaseId)
score += (1.f / static_cast<float>(i));
score += (1.F / static_cast<float>(i));
if ((trackIndex + i < trackIds.size()) && getReleaseId(trackIds[trackIndex + i]) == releaseId)
score += (1.f / static_cast<float>(i));
score += (1.F / static_cast<float>(i));
}
return score;
@@ -34,6 +34,9 @@ namespace lms::recommendation::PlaylistGeneratorConstraint
{
public:
ConsecutiveReleases(db::Db& db);
~ConsecutiveReleases() override = default;
ConsecutiveReleases(const ConsecutiveReleases&) = delete;
ConsecutiveReleases& operator=(const ConsecutiveReleases&) = delete;
private:
float computeScore(const std::vector<db::TrackId>& trackIds, std::size_t trackIndex) override;
@@ -26,6 +26,6 @@ namespace lms::recommendation::PlaylistGeneratorConstraint
float DuplicateTracks::computeScore(const std::vector<db::TrackId>& trackIds, std::size_t trackIndex)
{
const auto count{ std::count(std::cbegin(trackIds), std::cend(trackIds), trackIds[trackIndex]) };
return count == 1 ? 0 : 1000;
return count == 1 ? 0 : 1'000;
}
} // namespace lms::recommendation::PlaylistGeneratorConstraint
@@ -19,8 +19,6 @@
#pragma once
#include <vector>
#include "services/recommendation/Types.hpp"
namespace lms::recommendation::PlaylistGeneratorConstraint
@@ -22,7 +22,6 @@
#include <memory>
#include "database/TrackListId.hpp"
#include "database/Types.hpp"
#include "services/recommendation/Types.hpp"
namespace lms::db
@@ -42,5 +41,5 @@ namespace lms::recommendation
virtual TrackContainer extendPlaylist(db::TrackListId tracklistId, std::size_t maxCount) const = 0;
};
std::unique_ptr<IPlaylistGeneratorService> createPlaylistGeneratorService(db::Db& db, IRecommendationService& recommandationService);
std::unique_ptr<IPlaylistGeneratorService> createPlaylistGeneratorService(db::Db& db, IRecommendationService& recommendationService);
} // namespace lms::recommendation