Initial import of rkt-web-player
This commit is contained in:
@@ -1,3 +1,70 @@
|
||||
# rkt-web-player
|
||||
|
||||
Audio player with web interface
|
||||
Een audioplayer met webinterface, gebouwd op de bestaande Racket-pakketten:
|
||||
|
||||
- `racket-audio` voor lokale weergave en metadata;
|
||||
- `racket-upnp` en `racket-sonos` voor ontdekking van netwerkspelers;
|
||||
- `racket-audio-dlna` voor het publiceren en afspelen van lokale bestanden;
|
||||
- `racket-mimetypes`, `simple-ini` en `simple-log` voor ondersteunende taken.
|
||||
|
||||
## Starten
|
||||
|
||||
De gekoppelde ontwikkelpackages kunnen direct worden gebruikt:
|
||||
|
||||
```console
|
||||
racket main.rkt D:\Muziek
|
||||
```
|
||||
|
||||
Standaard opent de speler `http://127.0.0.1:8080/`. Iedere opgegeven map wordt
|
||||
een afzonderlijke muziekbibliotheek. Bij het starten wordt alleen de inhoud van
|
||||
de eerste rootmap gelezen; er vindt geen recursieve bibliotheekscan plaats.
|
||||
|
||||
```console
|
||||
racket main.rkt --port 8090 --no-browser D:\Muziek D:\Podcasts
|
||||
```
|
||||
|
||||
Met een klein INI-bestand zijn vaste defaults mogelijk:
|
||||
|
||||
```ini
|
||||
[server]
|
||||
listen-ip=127.0.0.1
|
||||
port=8080
|
||||
|
||||
[player]
|
||||
dlna-port=8734
|
||||
|
||||
[library]
|
||||
paths=D:\Muziek;D:\Podcasts
|
||||
```
|
||||
|
||||
Start dat bestand met `racket main.rkt --config rkt-web-player.ini`. Meerdere
|
||||
bibliotheekpaden worden met een puntkomma gescheiden.
|
||||
|
||||
## Werking
|
||||
|
||||
De interface volgt de informatiearchitectuur van `rktplayer`, maar is
|
||||
responsive en geschikt voor muis, toetsenbord en touch. Links staat de lazy
|
||||
mappenbrowser met trackinformatie; rechts staan playlisttabs en de huidige
|
||||
playlist. Een map wordt pas recursief gelezen wanneer die met **afspelen** of
|
||||
**toevoegen** wordt gekozen. Trackmetadata wordt eveneens pas op dat moment
|
||||
geladen.
|
||||
|
||||
De webinterface praat met een kleine JSON-API onder `/api`. Lokale weergave
|
||||
wordt pas geïnitialiseerd bij het eerste afspeelcommando. De knop naast de
|
||||
uitvoerkeuze start UPnP-discovery; gevonden Sonos-zones worden als logische
|
||||
groepen aangeboden en niet nogmaals als losse UPnP-renderers.
|
||||
|
||||
Playlisttabs kunnen worden toegevoegd, geselecteerd, hernoemd door dubbel te
|
||||
klikken en verwijderd. Tracks kunnen worden afgespeeld, verwijderd en met
|
||||
drag-and-drop verplaatst. De tabs zijn in deze versie alleen in het geheugen
|
||||
aanwezig en worden niet na een herstart hersteld.
|
||||
|
||||
De server luistert standaard alleen op localhost. Geef alleen bewust een
|
||||
LAN-adres aan `--listen-ip`; de huidige opzet bevat geen authenticatie.
|
||||
|
||||
## Controleren
|
||||
|
||||
```console
|
||||
raco test --drdr private/library.rkt private/player.rkt
|
||||
raco setup --check-pkg-deps rkt-web-player
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user