Database aanpassingen en scan bestanden #1

Merged
roelof merged 3 commits from database into main 2026-07-29 09:21:37 +02:00
Owner
No description provided.
RockHeaven krijgt zijn eigen database in /home/roelof/Music/RockHeaven en
deelt niets meer met RockHaven. Daarmee vervalt de reden om het schema te
laten zoals het was, en blijft over wat een speler daadwerkelijk leest.

De migratiegeschiedenis van RockHaven is weggegooid en vervangen door een
enkele InitialDatabase, die het schema neerzet zoals het model er na deze
opruiming uitziet.

Elk album is een volume, dus AlbumEntity houdt geen IsRockHaven, IsCompilation
of IsLive meer over. Alles wat op die vlaggen filterde is meegegaan: de add- en
get-methoden voor gewone albums en compilaties, de mappen AlbumsFolder en
CompilationsFolder, en de preferPerformer-schakelaar die hun tags uit elkaar
hield. De artiest komt nu altijd van de performer-tag.

Score is weg. Die bouwde een pool van vervangers voor de curatie, en die pool
kon alleen bestaan uit tracks die niet op een volume stonden - hier dus niets.
IsExiled en IsFavorite gaan om dezelfde reden weg: een speler kiest niets en
weert niets. Een artiest is nu een id en een naam.

Nu er niets anders dan volumes over is, zeggen de RockHeaven-tussenvoegsels in
de methodenamen niets meer; GetAllRockHeavenTracks is GetAllTracks geworden en
zo verder.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
AlbumEntity krijgt een Volume, uniek geïndexeerd, en niets leest het
nummer nog uit een titel terug. RockHeavenVolume is de enige plek die de
naam "RockHeaven Vol. 007" opbouwt; Number() heeft nog één aanroeper,
Mp3Service.GetTrack, omdat een mp3-tag alleen de naam draagt.

Title blijft en wordt overal uit Volume afgeleid. De migratie is
samengevoegd tot één InitialDatabase, wat kan zolang de database nog leeg
is.

Meteen ook de downloadfunctionaliteit eruit, die een speler niet heeft:
GetDownloadFolders en CopyToFolder, plus de instellingen DownloadFolder
en WorkFolder, die daarna niemand meer gebruikte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Album wordt de echte plaat waar een track vanaf komt, opgezocht bij
MusicBrainz omdat de mp3-tag het volume noemt in plaats van het album;
niet gevonden is 'Onbekend', per artiest een rij. Het volumenummer
verhuist daarmee van Album naar Track: een plaat kan in meerdere volumes
zitten. Een volume is geen rij meer maar de tracks die het nummer dragen,
en de titel links wordt uit dat nummer opgemaakt.

De scan is incrementeel omdat MusicBrainz één call per seconde toestaat
en de bibliotheek ruim tienduizend tracks telt: een bekend bestand wordt
overgeslagen zonder call, elke track wordt meteen opgeslagen, en stoppen
kost niets. De knop is z'n eigen stopknop.

Twee afwijkingen van de opgegeven query, allebei omdat de resultaten
anders duidelijk slechter waren: 25 resultaten in plaats van één, wat
dezelfde call kost, en artiestnamen vergelijken zonder diakrieten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
roelof merged commit 9a835b1bf0 into main 2026-07-29 09:21:37 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
KavalirOS/RockHeaven!1
No description provided.