Refactor tagging and add library scanning

- Replace `Tag` class with utility helpers for hashing and file type parsing
- Change `Track.artwork` from `std::string` to `TagLib::VariantMap`
- Add `importArtwork`, rename `importFolder` to `scanFolder`
- Add `scanLibrary`, `updateLibrary`, `editMetadata`, and `seek` methods to `Player` hierarchy
- Remove obsolete `Tag.h`/`Tag.cpp` files
This commit is contained in:
2026-06-22 11:00:06 +02:00
parent 018fdf5516
commit 05bd44a354
11 changed files with 121 additions and 83 deletions
+2 -1
View File
@@ -11,8 +11,9 @@ namespace fs = std::filesystem;
class File {
public:
Track importFile( const std::string& filePath );
void importFolder( const std::string& folderPath, std::vector<Track>& tracks );
void scanFolder( const std::string& folderPath, std::vector<Track>& tracks );
void readFileTag( Track& t );
TagLib::VariantMap importArtwork( Track& t );
std::string parseFiletype( const std::string& path );
void updateLibrary();
uint64_t hashString( Track t );