Added Utility and Type namespaces
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef ALBUMREPOSITORY_H_
|
||||||
|
#define ALBUMREPOSITORY_H_
|
||||||
|
|
||||||
|
#include "database/base_repository.h"
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Database
|
||||||
|
{
|
||||||
|
class albumRepository : public base_repository
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
albumRepository(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace Database
|
|||||||
coverArtRepository(const std::string&);
|
coverArtRepository(const std::string&);
|
||||||
coverArtRepository(const Model::BinaryPath&);
|
coverArtRepository(const Model::BinaryPath&);
|
||||||
|
|
||||||
Model::Cover retrieveRecord(Model::Cover&, coverFilter);
|
Model::Cover retrieveRecord(Model::Cover&, Type::coverFilter);
|
||||||
|
|
||||||
void deleteRecord(const Model::Cover&);
|
void deleteRecord(const Model::Cover&);
|
||||||
void saveRecord(const Model::Cover&);
|
void saveRecord(const Model::Cover&);
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef GENREREPOSITORY_H_
|
||||||
|
#define GENREREPOSITORY_H_
|
||||||
|
|
||||||
|
#include "database/base_repository.h"
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Database
|
||||||
|
{
|
||||||
|
class genreRepository : public base_repository
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
genreRepository(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace Database
|
|||||||
|
|
||||||
std::vector<Model::Song> retrieveRecords();
|
std::vector<Model::Song> retrieveRecords();
|
||||||
|
|
||||||
Model::Song retrieveRecord(Model::Song&, songFilter);
|
Model::Song retrieveRecord(Model::Song&, Type::songFilter);
|
||||||
|
|
||||||
void deleteRecord(const Model::Song&);
|
void deleteRecord(const Model::Song&);
|
||||||
void saveRecord(const Model::Song&);
|
void saveRecord(const Model::Song&);
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef YEARREPOSITORY_H_
|
||||||
|
#define YEARREPOSITORY_H_
|
||||||
|
|
||||||
|
#include "database/base_repository.h"
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Database
|
||||||
|
{
|
||||||
|
class yearRepository : public base_repository
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
yearRepository(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef ALBUMMANAGER_H_
|
||||||
|
#define ALBUMMANAGER_H_
|
||||||
|
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Manager
|
||||||
|
{
|
||||||
|
class albumManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
albumManager(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
Model::BinaryPath m_bConf;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef ARTISTMANAGER_H_
|
||||||
|
#define ARTISTMANAGER_H_
|
||||||
|
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Manager
|
||||||
|
{
|
||||||
|
class artistManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
artistManager(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
Model::BinaryPath m_bConf;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef GENREMANAGER_H_
|
||||||
|
#define GENREMANAGER_H_
|
||||||
|
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Manager
|
||||||
|
{
|
||||||
|
class genreManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
genreManager(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
Model::BinaryPath m_bConf;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace Manager
|
|||||||
Model::loginResult retrieve_token(std::string_view);
|
Model::loginResult retrieve_token(std::string_view);
|
||||||
Model::loginResult retrieve_token(const Model::BinaryPath&);
|
Model::loginResult retrieve_token(const Model::BinaryPath&);
|
||||||
|
|
||||||
bool is_token_valid(std::string&, Scope);
|
bool is_token_valid(std::string&, Type::Scope);
|
||||||
private:
|
private:
|
||||||
Model::auth_credentials parse_auth_credentials(std::string_view);
|
Model::auth_credentials parse_auth_credentials(std::string_view);
|
||||||
Model::auth_credentials parse_auth_credentials(const Model::BinaryPath&);
|
Model::auth_credentials parse_auth_credentials(const Model::BinaryPath&);
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef YEARMANAGER_H_
|
||||||
|
#define YEARMANAGER_H_
|
||||||
|
|
||||||
|
#include "models/models.h"
|
||||||
|
|
||||||
|
namespace Manager
|
||||||
|
{
|
||||||
|
class yearManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
yearManager(const Model::BinaryPath&);
|
||||||
|
private:
|
||||||
|
Model::BinaryPath m_bConf;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
#ifndef COVERFILTER_H_
|
#ifndef COVERFILTER_H_
|
||||||
#define COVERFILTER_H_
|
#define COVERFILTER_H_
|
||||||
|
|
||||||
enum class coverFilter
|
namespace Type
|
||||||
{
|
{
|
||||||
|
enum class coverFilter
|
||||||
|
{
|
||||||
id = 0,
|
id = 0,
|
||||||
songTitle,
|
songTitle,
|
||||||
imagePath
|
imagePath
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
#ifndef SCOPES_H_
|
#ifndef SCOPES_H_
|
||||||
#define SCOPES_H_
|
#define SCOPES_H_
|
||||||
|
|
||||||
enum class Scope
|
namespace Type
|
||||||
{
|
{
|
||||||
|
enum class Scope
|
||||||
|
{
|
||||||
upload = 0,
|
upload = 0,
|
||||||
download
|
download
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,14 +1,17 @@
|
|||||||
#ifndef SONGFILTER_H_
|
#ifndef SONGFILTER_H_
|
||||||
#define SONGFILTER_H_
|
#define SONGFILTER_H_
|
||||||
|
|
||||||
enum class songFilter
|
namespace Type
|
||||||
{
|
{
|
||||||
|
enum class songFilter
|
||||||
|
{
|
||||||
id = 0,
|
id = 0,
|
||||||
title,
|
title,
|
||||||
album,
|
album,
|
||||||
artist,
|
artist,
|
||||||
genre,
|
genre,
|
||||||
year
|
year
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
#ifndef IMAGEFILE_H_
|
||||||
|
#define IMAGEFILE_H_
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include <attachedpictureframe.h>
|
#include <attachedpictureframe.h>
|
||||||
@@ -10,15 +13,20 @@
|
|||||||
#include <tpropertymap.h>
|
#include <tpropertymap.h>
|
||||||
#include <id3v2tag.h>
|
#include <id3v2tag.h>
|
||||||
|
|
||||||
class imageFile : public TagLib::File
|
namespace Utility
|
||||||
{
|
{
|
||||||
public:
|
class imageFile : public TagLib::File
|
||||||
|
{
|
||||||
|
public:
|
||||||
imageFile(const char *file);
|
imageFile(const char *file);
|
||||||
|
|
||||||
TagLib::ByteVector data();
|
TagLib::ByteVector data();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual TagLib::Tag *tag() const { return 0; }
|
virtual TagLib::Tag *tag() const { return 0; }
|
||||||
virtual TagLib::AudioProperties *audioProperties() const { return 0; }
|
virtual TagLib::AudioProperties *audioProperties() const { return 0; }
|
||||||
virtual bool save() { return false; }
|
virtual bool save() { return false; }
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -6,14 +6,17 @@
|
|||||||
|
|
||||||
#include "models/models.h"
|
#include "models/models.h"
|
||||||
|
|
||||||
class metadata_retriever
|
namespace Utility
|
||||||
{
|
{
|
||||||
public:
|
class metadata_retriever
|
||||||
|
{
|
||||||
|
public:
|
||||||
Model::Song retrieve_metadata(std::string&);
|
Model::Song retrieve_metadata(std::string&);
|
||||||
Model::Cover update_cover_art(const Model::Song&, Model::Cover& cov, const std::string&);
|
Model::Cover update_cover_art(const Model::Song&, Model::Cover& cov, const std::string&);
|
||||||
|
|
||||||
void update_metadata(Model::Song updated_song, const Model::Song old_song);
|
void update_metadata(Model::Song updated_song, const Model::Song old_song);
|
||||||
private:
|
private:
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace Controller
|
|||||||
auto auth = authHeader->std_str();
|
auto auth = authHeader->std_str();
|
||||||
|
|
||||||
Manager::token_manager tok;
|
Manager::token_manager tok;
|
||||||
OATPP_ASSERT_HTTP(tok.is_token_valid(auth, Scope::upload), Status::CODE_403, "Not allowed");
|
OATPP_ASSERT_HTTP(tok.is_token_valid(auth, Type::Scope::upload), Status::CODE_403, "Not allowed");
|
||||||
|
|
||||||
auto mp = std::make_shared<oatpp::web::mime::multipart::Multipart>(request->getHeaders());
|
auto mp = std::make_shared<oatpp::web::mime::multipart::Multipart>(request->getHeaders());
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ namespace Controller
|
|||||||
Model::Song songDb;
|
Model::Song songDb;
|
||||||
songDb.id = id;
|
songDb.id = id;
|
||||||
|
|
||||||
songDb = songRepo.retrieveRecord(songDb, songFilter::id);
|
songDb = songRepo.retrieveRecord(songDb, Type::songFilter::id);
|
||||||
|
|
||||||
auto song = songDto::createShared();
|
auto song = songDto::createShared();
|
||||||
song->id = songDb.id;
|
song->id = songDb.id;
|
||||||
@@ -139,7 +139,7 @@ namespace Controller
|
|||||||
Database::songRepository songRepo(m_bConf);
|
Database::songRepository songRepo(m_bConf);
|
||||||
Model::Song songDb;
|
Model::Song songDb;
|
||||||
songDb.id = id;
|
songDb.id = id;
|
||||||
songDb = songRepo.retrieveRecord(songDb, songFilter::id);
|
songDb = songRepo.retrieveRecord(songDb, Type::songFilter::id);
|
||||||
|
|
||||||
std::ifstream fl(songDb.songPath.c_str(), std::ios::in | std::ios::binary | std::ios::ate);
|
std::ifstream fl(songDb.songPath.c_str(), std::ios::in | std::ios::binary | std::ios::ate);
|
||||||
fl.seekg(0);
|
fl.seekg(0);
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "database/albumRepository.h"
|
||||||
|
|
||||||
|
Database::albumRepository::albumRepository(const Model::BinaryPath& bConf)
|
||||||
|
: base_repository(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Database::coverArtRepository::coverArtRepository(const std::string& path) : base
|
|||||||
Database::coverArtRepository::coverArtRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
|
Database::coverArtRepository::coverArtRepository(const Model::BinaryPath& bConf) : base_repository(bConf)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, coverFilter filter = coverFilter::id)
|
Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, Type::coverFilter filter = Type::coverFilter::id)
|
||||||
{
|
{
|
||||||
std::stringstream qry;
|
std::stringstream qry;
|
||||||
auto conn = setup_mysql_connection();
|
auto conn = setup_mysql_connection();
|
||||||
@@ -19,16 +19,16 @@ Model::Cover Database::coverArtRepository::retrieveRecord(Model::Cover& cov, cov
|
|||||||
|
|
||||||
std::unique_ptr<char*> param;
|
std::unique_ptr<char*> param;
|
||||||
switch (filter) {
|
switch (filter) {
|
||||||
case coverFilter::id:
|
case Type::coverFilter::id:
|
||||||
qry << "CoverArtId = " << cov.id;
|
qry << "CoverArtId = " << cov.id;
|
||||||
break;
|
break;
|
||||||
case coverFilter::songTitle:
|
case Type::coverFilter::songTitle:
|
||||||
param = std::make_unique<char*>(new char[cov.songTitle.size()]);
|
param = std::make_unique<char*>(new char[cov.songTitle.size()]);
|
||||||
mysql_real_escape_string(conn, *param, cov.songTitle.c_str(), cov.songTitle.size());
|
mysql_real_escape_string(conn, *param, cov.songTitle.c_str(), cov.songTitle.size());
|
||||||
std::cout << *param << std::endl;
|
std::cout << *param << std::endl;
|
||||||
qry << "SongTitle = '" << *param << "'";
|
qry << "SongTitle = '" << *param << "'";
|
||||||
break;
|
break;
|
||||||
case coverFilter::imagePath:
|
case Type::coverFilter::imagePath:
|
||||||
param = std::make_unique<char*>(new char[cov.imagePath.size()]);
|
param = std::make_unique<char*>(new char[cov.imagePath.size()]);
|
||||||
mysql_real_escape_string(conn, *param, cov.imagePath.c_str(), cov.imagePath.size());
|
mysql_real_escape_string(conn, *param, cov.imagePath.c_str(), cov.imagePath.size());
|
||||||
std::cout << *param << std::endl;
|
std::cout << *param << std::endl;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "database/genreRepository.h"
|
||||||
|
|
||||||
|
Database::genreRepository::genreRepository(const Model::BinaryPath& bConf)
|
||||||
|
: base_repository(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ std::vector<Model::Song> Database::songRepository::retrieveRecords()
|
|||||||
return songs;
|
return songs;
|
||||||
}
|
}
|
||||||
|
|
||||||
Model::Song Database::songRepository::retrieveRecord(Model::Song& song, songFilter filter)
|
Model::Song Database::songRepository::retrieveRecord(Model::Song& song, Type::songFilter filter)
|
||||||
{
|
{
|
||||||
std::stringstream qry;
|
std::stringstream qry;
|
||||||
auto conn = setup_mysql_connection();
|
auto conn = setup_mysql_connection();
|
||||||
@@ -35,10 +35,10 @@ Model::Song Database::songRepository::retrieveRecord(Model::Song& song, songFilt
|
|||||||
|
|
||||||
std::unique_ptr<char*> param;
|
std::unique_ptr<char*> param;
|
||||||
switch (filter) {
|
switch (filter) {
|
||||||
case songFilter::id:
|
case Type::songFilter::id:
|
||||||
qry << "SongId = " << song.id;
|
qry << "SongId = " << song.id;
|
||||||
break;
|
break;
|
||||||
case songFilter::title:
|
case Type::songFilter::title:
|
||||||
param = std::make_unique<char*>(new char[song.title.size()]);
|
param = std::make_unique<char*>(new char[song.title.size()]);
|
||||||
mysql_real_escape_string(conn, *param, song.title.c_str(), song.title.size());
|
mysql_real_escape_string(conn, *param, song.title.c_str(), song.title.size());
|
||||||
std::cout << *param << std::endl;
|
std::cout << *param << std::endl;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "database/yearRepository.h"
|
||||||
|
|
||||||
|
Database::yearRepository::yearRepository(const Model::BinaryPath& bConf)
|
||||||
|
: base_repository(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "managers/albumManager.h"
|
||||||
|
|
||||||
|
Manager::albumManager::albumManager(const Model::BinaryPath& bConf)
|
||||||
|
: m_bConf(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "managers/artistManager.h"
|
||||||
|
|
||||||
|
Manager::artistManager::artistManager(const Model::BinaryPath& bConf)
|
||||||
|
: m_bConf(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Manager::coverArtManager::coverArtManager(const Model::BinaryPath& bConf) : m_bC
|
|||||||
|
|
||||||
Model::Cover Manager::coverArtManager::saveCover(const Model::Song& song, std::string& rootPath, const std::string& stockCoverPath)
|
Model::Cover Manager::coverArtManager::saveCover(const Model::Song& song, std::string& rootPath, const std::string& stockCoverPath)
|
||||||
{
|
{
|
||||||
metadata_retriever meta;
|
Utility::metadata_retriever meta;
|
||||||
Model::Cover cov;
|
Model::Cover cov;
|
||||||
cov.imagePath = rootPath;
|
cov.imagePath = rootPath;
|
||||||
cov = meta.update_cover_art(song, cov, stockCoverPath);
|
cov = meta.update_cover_art(song, cov, stockCoverPath);
|
||||||
@@ -23,7 +23,7 @@ Model::Cover Manager::coverArtManager::saveCover(const Model::Song& song, std::s
|
|||||||
std::cout << "saving record to the database" << std::endl;
|
std::cout << "saving record to the database" << std::endl;
|
||||||
covRepo.saveRecord(cov);
|
covRepo.saveRecord(cov);
|
||||||
std::cout << "retrieving record from database" << std::endl;
|
std::cout << "retrieving record from database" << std::endl;
|
||||||
cov = covRepo.retrieveRecord(cov, coverFilter::songTitle);
|
cov = covRepo.retrieveRecord(cov, Type::coverFilter::songTitle);
|
||||||
|
|
||||||
return cov;
|
return cov;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "managers/genreManager.h"
|
||||||
|
|
||||||
|
Manager::genreManager::genreManager(const Model::BinaryPath& bConf)
|
||||||
|
: m_bConf(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Manager::song_manager::song_manager(const Model::BinaryPath& bConf)
|
|||||||
void Manager::song_manager::saveSong(Model::Song& song)
|
void Manager::song_manager::saveSong(Model::Song& song)
|
||||||
{
|
{
|
||||||
saveSongTemp(song);
|
saveSongTemp(song);
|
||||||
metadata_retriever meta;
|
Utility::metadata_retriever meta;
|
||||||
auto data = std::move(song.data);
|
auto data = std::move(song.data);
|
||||||
song = meta.retrieve_metadata(song.songPath);
|
song = meta.retrieve_metadata(song.songPath);
|
||||||
song.data = std::move(data);
|
song.data = std::move(data);
|
||||||
@@ -62,12 +62,12 @@ void Manager::song_manager::deleteSong(Model::Song& song)
|
|||||||
Database::coverArtRepository covRepo(m_bConf);
|
Database::coverArtRepository covRepo(m_bConf);
|
||||||
Database::songRepository songRepo(m_bConf);
|
Database::songRepository songRepo(m_bConf);
|
||||||
|
|
||||||
song = songRepo.retrieveRecord(song, songFilter::id);
|
song = songRepo.retrieveRecord(song, Type::songFilter::id);
|
||||||
songRepo.deleteRecord(song);
|
songRepo.deleteRecord(song);
|
||||||
|
|
||||||
Model::Cover cov;
|
Model::Cover cov;
|
||||||
cov.id = song.coverArtId;
|
cov.id = song.coverArtId;
|
||||||
cov = covRepo.retrieveRecord(cov, coverFilter::id);
|
cov = covRepo.retrieveRecord(cov, Type::coverFilter::id);
|
||||||
covRepo.deleteRecord(cov);
|
covRepo.deleteRecord(cov);
|
||||||
|
|
||||||
auto paths = Manager::directory_manager::pathConfigContent(m_bConf);
|
auto paths = Manager::directory_manager::pathConfigContent(m_bConf);
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ Model::loginResult Manager::token_manager::retrieve_token(const Model::BinaryPat
|
|||||||
return lr;
|
return lr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Manager::token_manager::is_token_valid(std::string& auth, Scope scope)
|
bool Manager::token_manager::is_token_valid(std::string& auth, Type::Scope scope)
|
||||||
{
|
{
|
||||||
auto authPair = fetch_auth_header(auth);
|
auto authPair = fetch_auth_header(auth);
|
||||||
|
|
||||||
@@ -103,10 +103,10 @@ bool Manager::token_manager::is_token_valid(std::string& auth, Scope scope)
|
|||||||
auto scopes = extract_scopes(jwt::decode(token));
|
auto scopes = extract_scopes(jwt::decode(token));
|
||||||
|
|
||||||
switch (scope) {
|
switch (scope) {
|
||||||
case Scope::upload:
|
case Type::Scope::upload:
|
||||||
return token_supports_scope(scopes, "upload:songs");
|
return token_supports_scope(scopes, "upload:songs");
|
||||||
break;
|
break;
|
||||||
case Scope::download:
|
case Type::Scope::download:
|
||||||
return token_supports_scope(scopes, "download:songs");
|
return token_supports_scope(scopes, "download:songs");
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#include "managers/yearManager.h"
|
||||||
|
|
||||||
|
Manager::yearManager::yearManager(const Model::BinaryPath& bConf)
|
||||||
|
: m_bConf(bConf)
|
||||||
|
{ }
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#include "utilities/imageFile.h"
|
#include "utilities/imageFile.h"
|
||||||
|
|
||||||
imageFile::imageFile(const char *file) : TagLib::File(file)
|
Utility::imageFile::imageFile(const char *file) : TagLib::File(file)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
TagLib::ByteVector imageFile::data()
|
TagLib::ByteVector Utility::imageFile::data()
|
||||||
{
|
{
|
||||||
return readBlock(length());
|
return readBlock(length());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
Model::Song metadata_retriever::retrieve_metadata(std::string& song_path)
|
Model::Song Utility::metadata_retriever::retrieve_metadata(std::string& song_path)
|
||||||
{
|
{
|
||||||
TagLib::FileRef file(song_path.c_str());
|
TagLib::FileRef file(song_path.c_str());
|
||||||
Model::Song song;
|
Model::Song song;
|
||||||
@@ -48,7 +48,7 @@ Model::Song metadata_retriever::retrieve_metadata(std::string& song_path)
|
|||||||
return song;
|
return song;
|
||||||
}
|
}
|
||||||
|
|
||||||
Model::Cover metadata_retriever::update_cover_art(const Model::Song& song, Model::Cover& cov, const std::string& stockCoverPath)
|
Model::Cover Utility::metadata_retriever::update_cover_art(const Model::Song& song, Model::Cover& cov, const std::string& stockCoverPath)
|
||||||
{
|
{
|
||||||
TagLib::MPEG::File sngF(song.songPath.c_str());
|
TagLib::MPEG::File sngF(song.songPath.c_str());
|
||||||
auto tag = sngF.ID3v2Tag();
|
auto tag = sngF.ID3v2Tag();
|
||||||
@@ -94,7 +94,7 @@ Model::Cover metadata_retriever::update_cover_art(const Model::Song& song, Model
|
|||||||
return cov;
|
return cov;
|
||||||
}
|
}
|
||||||
|
|
||||||
void metadata_retriever::update_metadata(Model::Song sng_updated, const Model::Song sng_old)
|
void Utility::metadata_retriever::update_metadata(Model::Song sng_updated, const Model::Song sng_old)
|
||||||
{
|
{
|
||||||
std::cout<<"updating metadata"<<std::endl;
|
std::cout<<"updating metadata"<<std::endl;
|
||||||
TagLib::FileRef file(sng_old.songPath.c_str());
|
TagLib::FileRef file(sng_old.songPath.c_str());
|
||||||
|
|||||||
Reference in New Issue
Block a user