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
+17 -1
View File
@@ -1,17 +1,33 @@
#pragma once
#include "Player.h"
#include "Database.h"
using db = Database;
class PlayerLocal : public Player {
public:
// Library Controls
void loadFile ( Track track ) override;
void scanLibrary() override;
void updateLibrary() override;
void editMetadata() override;
// Transport Controls
void play() override;
void pause() override;
void stop() override;
void next() override;
void previous() override;
void seek() override;
ma_uint64 getPlayheadPosition () override;
void loadFile ( Track track ) override;
// Queue
void addToQueue( Track& track );
void playQueue();
private:
unsigned int currentTrack_;
db db_;
std::string musicFolder_ = "data/";
};