clean structure

This commit is contained in:
2026-06-11 14:03:35 +02:00
parent 326424f6fa
commit 677f263648
29 changed files with 119 additions and 82 deletions
+36
View File
@@ -0,0 +1,36 @@
#pragma once
#include <QObject>
#include <QList>
#include <QThread>
#include <QMutex>
#include "Track.h"
namespace engine {
class MusicLibrary : public QObject {
Q_OBJECT
public:
static const inline QStringList SUPPORTED_EXTS =
{ "mp3", "flac", "wav", "ogg", "aac", "m4a", "opus", "wma" };
explicit MusicLibrary(QObject *parent = nullptr);
const QList<engine::Track> &tracks() const;
const QString &rootPath() const;
void setRootPath(const QString &path);
void scan();
void sortByArtistTitle();
void shutdown();
signals:
void scanStarted();
void trackFound(const engine::Track &track);
void scanComplete(int count);
private:
QString m_root;
QList<engine::Track> m_tracks;
QThread *m_scanThread { nullptr };
QMutex m_mtx;
};
}