80bffc0fdd
Add Database class with SQLite fetch/fetchAlbum methods. Refactor PlaybackEngine (data callback, seek, getPosition, decoder lifecycle) and Player API (PlaybackEngine member, queue handling, PlayerLocal). Update Metadata::Track fields to include artist/title/album/trackNr/length.
29 lines
576 B
C++
29 lines
576 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <taglib/tag.h>
|
|
|
|
struct Metadata {
|
|
TagLib::String artist;
|
|
TagLib::String title;
|
|
TagLib::String album;
|
|
TagLib::String albumArtist;
|
|
unsigned int year;
|
|
TagLib::VariantList artwork;
|
|
TagLib::String genre;
|
|
unsigned int trackNr;
|
|
double length;
|
|
std::string format;
|
|
unsigned int sampleRate;
|
|
unsigned int bitRate;
|
|
};
|
|
|
|
struct Track {
|
|
std::string_view artist;
|
|
std::string_view title;
|
|
std::string_view album;
|
|
unsigned int trackNr;
|
|
unsigned int length;
|
|
const char *filePath;
|
|
};
|