Various minor cleanup
This commit is contained in:
@@ -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
|
||||
|
||||
+1
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user