player agent gui script for exe

This commit is contained in:
2026-09-17 09:49:23 +02:00
parent 705ff17c79
commit 83fe3cc472
7 changed files with 212 additions and 52 deletions
+15
View File
@@ -124,6 +124,21 @@ renderers. The server can prefetch the next track to an agent for gapless
transitions. A 256-bit application ID identifies the agent; the server's
@tt{[playback-agents]} allowlist decides which agents may connect.
Both agents retain downloaded tracks in a local disk cache with a budget of
1 GB (1,000,000,000 bytes), evicting the least recently used tracks first.
Selecting a cached track reuses its local file when the server address, source
path, file size and modification time still match. Changing the source file's
size or modification time causes a new download. Older servers without this
metadata only allow reuse for the same media token.
Files in use for playback or prefetch are protected, so those files and an
in-progress download can temporarily exceed the budget. The cache lasts until
the agent exits; it is not retained across restarts.
A track that is not cached is still downloaded completely before playback.
The next track is fetched after the play command completes. Commands are
processed in server order, so a pending prefetch can still delay a later manual
track selection.
@defproc[(run-web-player
[music-paths (listof (or/c path-string?
(list/c string? path-string?)))]