cli player agent added
This commit is contained in:
@@ -154,8 +154,48 @@ De server wordt bijgewerkt zodra het nieuwe music-id werkelijk hoorbaar is en
|
||||
stuurt vervolgens de daaropvolgende prefetch. Tijdelijke bestanden worden
|
||||
opgeruimd zodra ze niet meer nodig zijn en bij afsluiten van de agent.
|
||||
|
||||
Een systeemvakfunctie is voorlopig niet opgenomen. De agent start geen
|
||||
PowerShell-proces of andere externe tray-helper.
|
||||
### Systeemvak
|
||||
|
||||
De GUI gebruikt optioneel de open-source SDL3-tray-API. Als zowel het Racket-
|
||||
pakket `sdl3` als de native SDL3-, SDL3_image- en SDL3_ttf-libraries aanwezig
|
||||
zijn, sluit de vensterknop de agent naar het systeemvak. Het menu bevat
|
||||
**RKT Web Player Agent openen** en **Afsluiten**. Zonder SDL3 blijft de agent
|
||||
gewoon werken en sluit de vensterknop het proces af. Er wordt geen PowerShell-
|
||||
proces of externe tray-helper gestart.
|
||||
|
||||
```console
|
||||
raco pkg install sdl3
|
||||
```
|
||||
|
||||
SDL3 is bewust geen verplichte package-dependency: de agent blijft daardoor
|
||||
klein voor gebruikers die geen systeemvak nodig hebben. Op Windows moeten de
|
||||
bijbehorende native DLL's daarnaast vindbaar zijn, bijvoorbeeld naast het
|
||||
gebouwde executable of via `PATH`.
|
||||
|
||||
### CLI playback agent
|
||||
|
||||
De headless agent gebruikt exact dezelfde polling-, download-, audio- en
|
||||
gapless-prefetchkern als de GUI-agent:
|
||||
|
||||
```console
|
||||
racket player-agent-cli.rkt
|
||||
racket player-agent-cli.rkt --server https://muziek.example.nl --name "Werkkamer"
|
||||
```
|
||||
|
||||
GUI en CLI gebruiken standaard hetzelfde gebruikersspecifieke
|
||||
`rkt-web-player-agent.ini`, dus ook hetzelfde application-ID. Met `--config`
|
||||
kan de CLI een afzonderlijk INI-bestand en daarmee een afzonderlijke identiteit
|
||||
gebruiken. Bij het starten worden naam, server en application-ID afgedrukt;
|
||||
stoppen gaat met `Ctrl+C`.
|
||||
|
||||
Vanuit Racket is de headless variant eveneens beschikbaar:
|
||||
|
||||
```racket
|
||||
(require rkt-web-player/player-agent)
|
||||
|
||||
(run-player-agent-cli #:server-url "https://muziek.example.nl"
|
||||
#:name "Werkkamer")
|
||||
```
|
||||
|
||||
De allowlist voorkomt dat een onbekende agent zich als uitvoerpunt registreert
|
||||
of opdrachten en tijdelijke media ontvangt. Het applicatie-ID is een gedeeld
|
||||
@@ -166,6 +206,7 @@ geen TLS heeft.
|
||||
## Controleren
|
||||
|
||||
```console
|
||||
raco test private/users.rkt private/library.rkt private/player.rkt
|
||||
raco test private/users.rkt private/library.rkt private/player.rkt \
|
||||
private/player-agent-config.rkt
|
||||
raco setup --check-pkg-deps rkt-web-player
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user