13 Commits

Author SHA1 Message Date
fegger 49edcd0d11 Merge branch 'main' of http://100.103.83.12:3003/fegger/soundServe 2026-06-25 12:10:18 +02:00
fegger 96ca069a26 Refactor ID retrieval logic in Database class
Simplify the return logic for getAlbumId, getArtistId, and getGenreId
functions by returning results directly when available or after
assignment.
2026-06-25 12:10:16 +02:00
fegger 2849183f1f Switch HashTable to shared_ptr and add missing returns
Use std::shared_ptr<Track> in HashTable to avoid raw pointer ownership
issues. Also add missing return statements in Database ID lookup helpers.
2026-06-25 11:33:29 +02:00
fegger 00c8d9b843 Refactor containers and library loading
Replace trackPtr with raw Track* pointers in HashTable, add loadLibrary
to PlayerLocal, remove unused File helpers, and fix broken artwork/artist
SQL bindings.
2026-06-22 11:51:27 +02:00
fegger 05bd44a354 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
2026-06-22 11:00:06 +02:00
fegger 018fdf5516 Refactor Database and File modules to improve data handling
Update the Database class to include explicit methods for fetching
various entity types, managing relationships, and querying file paths.
Implement hashing logic in the File module to facilitate tracking by
unique identifiers. Add C++20 support in configuration files.
2026-06-21 22:01:28 +02:00
fegger de9db599b9 Update Track fields and file tag handling
Change Track members: artwork -> std::string, genre -> TagLib::String, and add year
File::readFileTag now takes a Track& and fills artist/title/album/trackNr/year/genre/format/length
importFolder sets artwork to <folder>/cover.png
Rename Database::addSong to addTrack
2026-06-21 11:47:29 +02:00
fegger 20c0f9744f Refactor metadata and internal data structures
Replace Metadata.h with Containers.h, introducing a HashTable
implementation with SIMD acceleration and specialized track tracking.
Cleanup PlayerEngine logic by merging it into the playback flow and
refactoring several internal API signatures.
2026-06-20 22:04:26 +02:00
fegger 80bffc0fdd Add Database and refactor player/playback
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.
2026-06-20 15:19:34 +02:00
fegger 2130d95ed5 add PlaybackEngine 2026-06-18 14:44:18 +02:00
fegger 0451a72a8b Refactor player and engine interfaces 2026-06-16 13:25:52 +02:00
fegger 31d7453a50 read/parse file tags
import audiofiles
2026-06-16 09:03:57 +02:00
fegger 293756cf1f initial Commit 2026-06-15 22:11:47 +02:00