Fix tools/checks builds
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
#include "database/TrackList.hpp"
|
#include "database/TrackList.hpp"
|
||||||
#include "database/Release.hpp"
|
#include "database/Release.hpp"
|
||||||
#include "database/Track.hpp"
|
#include "database/Track.hpp"
|
||||||
|
#include "database/User.hpp"
|
||||||
|
|
||||||
using namespace Database;
|
using namespace Database;
|
||||||
|
|
||||||
@@ -1041,7 +1042,7 @@ testSingleUser(Session& session)
|
|||||||
{
|
{
|
||||||
auto transaction {session.createUniqueTransaction()};
|
auto transaction {session.createUniqueTransaction()};
|
||||||
|
|
||||||
auto user {User::create(session)};
|
auto user {User::create(session, "", {})};
|
||||||
CHECK(user);
|
CHECK(user);
|
||||||
|
|
||||||
userId = user.id();
|
userId = user.id();
|
||||||
@@ -1079,7 +1080,7 @@ testSingleStarredArtist(Session& session)
|
|||||||
|
|
||||||
auto artist {Artist::create(session, "MyArtist")};
|
auto artist {Artist::create(session, "MyArtist")};
|
||||||
CHECK(artist);
|
CHECK(artist);
|
||||||
auto user {User::create(session)};
|
auto user {User::create(session, "", {})};
|
||||||
CHECK(user);
|
CHECK(user);
|
||||||
|
|
||||||
artistId = artist.id();
|
artistId = artist.id();
|
||||||
@@ -1134,7 +1135,7 @@ testSingleStarredRelease(Session& session)
|
|||||||
|
|
||||||
auto release {Release::create(session, "MyRelease")};
|
auto release {Release::create(session, "MyRelease")};
|
||||||
CHECK(release);
|
CHECK(release);
|
||||||
auto user {User::create(session)};
|
auto user {User::create(session, "", {})};
|
||||||
CHECK(user);
|
CHECK(user);
|
||||||
|
|
||||||
releaseId = release.id();
|
releaseId = release.id();
|
||||||
@@ -1189,7 +1190,7 @@ testSingleStarredTrack(Session& session)
|
|||||||
|
|
||||||
auto track {Track::create(session, "MyTrackFile")};
|
auto track {Track::create(session, "MyTrackFile")};
|
||||||
CHECK(track);
|
CHECK(track);
|
||||||
auto user {User::create(session)};
|
auto user {User::create(session, "", {})};
|
||||||
CHECK(user);
|
CHECK(user);
|
||||||
|
|
||||||
trackId = track.id();
|
trackId = track.id();
|
||||||
|
|||||||
@@ -5,12 +5,14 @@
|
|||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <random>
|
#include <random>
|
||||||
|
|
||||||
#include "database/DatabaseHandler.hpp"
|
#include "database/Database.hpp"
|
||||||
|
#include "database/Session.hpp"
|
||||||
#include "database/Track.hpp"
|
#include "database/Track.hpp"
|
||||||
#include "database/Artist.hpp"
|
#include "database/Artist.hpp"
|
||||||
#include "database/Cluster.hpp"
|
#include "database/Cluster.hpp"
|
||||||
#include "database/Release.hpp"
|
#include "database/Release.hpp"
|
||||||
#include "database/TrackFeatures.hpp"
|
#include "database/TrackFeatures.hpp"
|
||||||
|
#include "main/Service.hpp"
|
||||||
#include "utils/Config.hpp"
|
#include "utils/Config.hpp"
|
||||||
#include "similarity/features/som/DataNormalizer.hpp"
|
#include "similarity/features/som/DataNormalizer.hpp"
|
||||||
#include "similarity/features/som/Network.hpp"
|
#include "similarity/features/som/Network.hpp"
|
||||||
@@ -18,12 +20,7 @@
|
|||||||
static
|
static
|
||||||
std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track)
|
std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track)
|
||||||
{
|
{
|
||||||
auto genreClusterType = Database::ClusterType::getByName(*track->session(), "GENRE");
|
|
||||||
|
|
||||||
os << "[";
|
os << "[";
|
||||||
auto genreClusters = track->getClusterGroups({genreClusterType}, 1);
|
|
||||||
for (auto genreCluster : genreClusters)
|
|
||||||
os << genreCluster.front()->getName() << " - ";
|
|
||||||
for (auto artist : track->getArtists())
|
for (auto artist : track->getArtists())
|
||||||
os << artist->getName() << " - ";
|
os << artist->getName() << " - ";
|
||||||
if (track->getRelease())
|
if (track->getRelease())
|
||||||
@@ -35,7 +32,7 @@ std::ostream& operator<<(std::ostream& os, const Database::Track::pointer& track
|
|||||||
|
|
||||||
static
|
static
|
||||||
bool
|
bool
|
||||||
getTrackFeatures(Wt::Dbo::Session &session, const Database::Track::pointer& track, const std::map<std::string, std::size_t>& featuresSettings, SOM::InputVector& res)
|
getTrackFeatures(Database::Session &session, const Database::Track::pointer& track, const std::map<std::string, std::size_t>& featuresSettings, SOM::InputVector& res)
|
||||||
{
|
{
|
||||||
std::map<std::string, std::vector<double>> features;
|
std::map<std::string, std::vector<double>> features;
|
||||||
for (const auto& featureSettings : featuresSettings)
|
for (const auto& featureSettings : featuresSettings)
|
||||||
@@ -91,16 +88,15 @@ int main(int argc, char *argv[])
|
|||||||
if (argc >= 2)
|
if (argc >= 2)
|
||||||
configFilePath = std::string(argv[1], 0, 256);
|
configFilePath = std::string(argv[1], 0, 256);
|
||||||
|
|
||||||
Config::instance().setFile(configFilePath);
|
ServiceProvider<Config>::create(configFilePath);
|
||||||
|
|
||||||
Database::Handler::configureAuth();
|
Database::Database db {getService<Config>()->getPath("working-dir") / "lms.db"};
|
||||||
auto connectionPool = Database::Handler::createConnectionPool(Config::instance().getPath("working-dir") / "lms.db");
|
auto session {db.createSession()};
|
||||||
Database::Handler db(*connectionPool);
|
|
||||||
|
|
||||||
std::cout << "Getting all features..." << std::endl;
|
std::cout << "Getting all features..." << std::endl;
|
||||||
Wt::Dbo::Transaction transaction(db.getSession());
|
auto transaction {session->createUniqueTransaction()};
|
||||||
|
|
||||||
std::vector<Database::IdType> trackIds {Database::Track::getAllIdsWithFeatures(db.getSession(), nbTracks)};
|
std::vector<Database::IdType> trackIds {Database::Track::getAllIdsWithFeatures(*session, nbTracks)};
|
||||||
|
|
||||||
nbTracks = trackIds.size();
|
nbTracks = trackIds.size();
|
||||||
std::cout << "Getting features DONE (" << nbTracks << " tracks)" << std::endl;
|
std::cout << "Getting features DONE (" << nbTracks << " tracks)" << std::endl;
|
||||||
@@ -110,12 +106,12 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (Database::IdType trackId : trackIds)
|
for (Database::IdType trackId : trackIds)
|
||||||
{
|
{
|
||||||
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)};
|
Database::Track::pointer track {Database::Track::getById(*session, trackId)};
|
||||||
if (!track)
|
if (!track)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SOM::InputVector features {nbDims};
|
SOM::InputVector features {nbDims};
|
||||||
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features))
|
if (!getTrackFeatures(*session, track, featuresSettings, features))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
tracksFeatures.emplace_back(std::move(features));
|
tracksFeatures.emplace_back(std::move(features));
|
||||||
@@ -169,12 +165,12 @@ int main(int argc, char *argv[])
|
|||||||
SOM::Matrix< std::vector<Database::Track::pointer> > tracksMap(width, height);
|
SOM::Matrix< std::vector<Database::Track::pointer> > tracksMap(width, height);
|
||||||
for (Database::IdType trackId : trackIds)
|
for (Database::IdType trackId : trackIds)
|
||||||
{
|
{
|
||||||
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)};
|
Database::Track::pointer track {Database::Track::getById(*session, trackId)};
|
||||||
if (!track)
|
if (!track)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SOM::InputVector features {nbDims};
|
SOM::InputVector features {nbDims};
|
||||||
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features))
|
if (!getTrackFeatures(*session, track, featuresSettings, features))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
normalizer.normalizeData(features);
|
normalizer.normalizeData(features);
|
||||||
@@ -204,12 +200,12 @@ int main(int argc, char *argv[])
|
|||||||
// For each track, get the nearest tracks
|
// For each track, get the nearest tracks
|
||||||
for (Database::IdType trackId : trackIds)
|
for (Database::IdType trackId : trackIds)
|
||||||
{
|
{
|
||||||
Database::Track::pointer track {Database::Track::getById(db.getSession(), trackId)};
|
Database::Track::pointer track {Database::Track::getById(*session, trackId)};
|
||||||
if (!track)
|
if (!track)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SOM::InputVector features {nbDims};
|
SOM::InputVector features {nbDims};
|
||||||
if (!getTrackFeatures(db.getSession(), track, featuresSettings, features))
|
if (!getTrackFeatures(*session, track, featuresSettings, features))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
normalizer.normalizeData(features);
|
normalizer.normalizeData(features);
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ lms_similarity_SOURCES = \
|
|||||||
$(srcdir)/LmsSimilarity.cpp \
|
$(srcdir)/LmsSimilarity.cpp \
|
||||||
$(top_srcdir)/src/database/Artist.cpp \
|
$(top_srcdir)/src/database/Artist.cpp \
|
||||||
$(top_srcdir)/src/database/Cluster.cpp \
|
$(top_srcdir)/src/database/Cluster.cpp \
|
||||||
$(top_srcdir)/src/database/DatabaseHandler.cpp \
|
$(top_srcdir)/src/database/Database.cpp \
|
||||||
$(top_srcdir)/src/database/TrackFeatures.cpp \
|
$(top_srcdir)/src/database/TrackFeatures.cpp \
|
||||||
$(top_srcdir)/src/database/TrackList.cpp \
|
$(top_srcdir)/src/database/TrackList.cpp \
|
||||||
$(top_srcdir)/src/database/Release.cpp \
|
$(top_srcdir)/src/database/Release.cpp \
|
||||||
$(top_srcdir)/src/database/ScanSettings.cpp \
|
$(top_srcdir)/src/database/ScanSettings.cpp \
|
||||||
|
$(top_srcdir)/src/database/Session.cpp \
|
||||||
|
$(top_srcdir)/src/database/SimilaritySettings.cpp \
|
||||||
$(top_srcdir)/src/database/SqlQuery.cpp \
|
$(top_srcdir)/src/database/SqlQuery.cpp \
|
||||||
$(top_srcdir)/src/database/Track.cpp \
|
$(top_srcdir)/src/database/Track.cpp \
|
||||||
$(top_srcdir)/src/database/User.cpp \
|
$(top_srcdir)/src/database/User.cpp \
|
||||||
|
|||||||
Reference in New Issue
Block a user