This commit is contained in:
2026-09-08 15:20:27 +02:00
parent 4b9e6c5651
commit 2eb9a9590e
15 changed files with 1023 additions and 127 deletions
+19 -6
View File
@@ -100,13 +100,24 @@ betrouwbare next-ondersteuning krijgen na het natuurlijke trackeinde een
servergestuurde fallback. Een expliciet stopcommando start nooit de volgende
track.
De bibliotheek links heeft de tabs **Mappen** en **Afspeellijsten**. Met
**Afspeellijst opslaan** boven de huidige playlist geef je de tab een naam en
bewaar je hem in de bibliotheek. **** bij een bewaarde playlist opent of
selecteert zijn eigen tab; **▶** opent die tab en speelt de playlist af.
Een playlist die al open is, krijgt geen tweede tab. De inhoud van andere
tabs blijft behouden. Wijzigingen in een bewaarde playlist worden automatisch
opgeslagen, ook wanneer je de tab hernoemt. Het kruisje sluit een bewaarde tab;
de playlist blijft beschikbaar in de bibliotheek.
Playlisttabs kunnen worden toegevoegd, geselecteerd, hernoemd door dubbel te
klikken en verwijderd. Tracks kunnen worden afgespeeld, verwijderd en met
klikken en gesloten. Tracks kunnen worden afgespeeld, verwijderd en met
drag-and-drop verplaatst. Tabnamen, tabvolgorde en alle tracklijsten worden na
iedere wijziging transactioneel opgeslagen. Een verwijderde
tab verdwijnt daarbij ook uit de keystore. Voor iedere gebruiker bevat de key
`playlists-for-<username>` de geordende lijst met playlist-GUIDs. Onder iedere
GUID-key staan de naam en tracks van die playlist. Tracks uit verschillende
iedere wijziging transactioneel opgeslagen. Alleen een gesloten tab die niet
in de bibliotheek is bewaard, verdwijnt ook uit de keystore. Voor iedere gebruiker
bevat `playlists-for-<username>` de geordende lijst met geopende playlist-GUIDs,
en `saved-playlists-for-<username>` de bewaarde playlists. Onder iedere
GUID-key staan de naam en tracks van die playlist. Bestaande tabs worden niet
automatisch aan de bibliotheek toegevoegd. Tracks uit verschillende
geconfigureerde libraries mogen in dezelfde playlist staan; ontbrekende of
buiten de libraries gelegen bestanden worden bij het laden overgeslagen.
Iedere aangemelde gebruiker heeft daarbij een eigen playlistverzameling. Als
@@ -242,6 +253,8 @@ geen TLS heeft.
```console
raco test private/users.rkt private/library.rkt private/player.rkt \
private-player-agent/player-agent-config.rkt
private/server.rkt private-player-agent/player-agent-config.rkt
node tests/player-state.test.mjs
node tests/playlist-library.test.mjs
raco setup --check-pkg-deps rkt-web-player
```