multi player / per user playing and translation

This commit is contained in:
2026-08-28 16:53:05 +02:00
parent 2743dfb4c0
commit e10f2cf7d7
17 changed files with 1432 additions and 482 deletions
+18 -3
View File
@@ -32,6 +32,7 @@ port=8080
[player]
dlna-port=8734
local-output=true
[libraries]
muziek=D:\Muziek
@@ -54,7 +55,9 @@ UNC-rootmap. Het oudere `[library] paths=D:\Muziek;D:\Podcasts` blijft eveneens
ondersteund. Playlisttabs worden standaard opgeslagen in de keystore
`data/playlists.keystore` binnen de geïnstalleerde map van rkt-web-player. Met
`playlist-keystore=...` onder `[player]` kan desgewenst een ander pad worden
gebruikt.
gebruikt. Met `local-output=false` wordt de audio-uitvoer van de server zelf
niet als afspeelpunt aangeboden. Als nog geen netwerkspeler of playback agent
beschikbaar is, blijft de uitvoerselectie leeg totdat er een verschijnt.
Zodra `[users]` minstens één gebruiker bevat, moeten alle browserclients
inloggen, zowel lokaal als via internet. Wachtwoorden staan uitsluitend als
@@ -108,11 +111,21 @@ 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
authenticatie is uitgeschakeld, wordt de verzameling van `anonymous` gebruikt.
Het fysieke afspeelpunt en de transportbediening blijven gedeeld; een
playlistcommando van een andere gebruiker neemt die speler over. Een oudere
Iedere gebruiker heeft daarnaast een eigen afspeelpipeline met uitvoerkeuze,
transportstatus, huidige track, volume en herhaalmodus. Verschillende fysieke
afspeelpunten kunnen daardoor gelijktijdig voor verschillende gebruikers
spelen. De afspeelpunten zelf blijven gedeeld: kiest een gebruiker een reeds
bezet afspeelpunt, dan wordt de vorige pipeline op dat punt gestopt en neemt de
nieuwe gebruiker het over. Een oudere
`playlists-for-local`-verzameling blijft in de keystore staan, maar wordt niet
automatisch aan een gebruiker toegewezen.
De webinterface ondersteunt Nederlands, Engels, Duits, Frans en Spaans. Bij
het eerste bezoek wordt de voorkeurstaal van de browser gebruikt. Een keuze in
de taalselector wordt daarna per gebruiker als `language-for-<username>` in
`data/playlists.keystore` opgeslagen en geldt daardoor ook op andere apparaten.
Zonder authenticatie geldt dit voor de gebruiker `anonymous`.
De server luistert standaard alleen op localhost. Geef alleen bewust een
LAN-adres aan `--listen-ip`. Configureer gebruikersauthenticatie voordat de
webinterface via een publiek bereikbare reverse proxy wordt aangeboden.
@@ -159,6 +172,8 @@ toe wanneer zijn volledige applicatie-ID vooraf als key onder
`[playback-agents]` staat en de waarde niet `false` is. Een onbekende ID krijgt
HTTP 403 en wordt niet als uitvoerpunt aangemaakt. De agent toont in dat geval
zijn ID en meldt dat de serverbeheerder deze eerst aan de INI moet toevoegen.
De GUI en het systeemvak volgen automatisch de systeemtaal en ondersteunen
dezelfde vijf talen als de webinterface.
Onder **Afspelen** toont de agent het playlistnummer, de huidige track en
bestandsnaam, afspeeltoestand, verstreken en totale tijd, bitdiepte,