A lightweight LG webOS app to play back a low-latency Snapcast Websocket stream using Javascript AudioContext.
GPL-3.0, see LICENSE.
The icons, snapstream.js
and libflac.js
files are verbatim copies or slight
adaptations of upstream
Snapserver web
licensed under GPL-3.0.
Note the stream WS URL is hard-coded in index.html. Update it before packaging and installing the app.
During development, use the very quick, non-minifying Python packager:
$ ./package.py
For "production" builds, you can rely on the official
ares-package
from webOS SDK. Please note, though, that it is unbearably slow with no real
benefits:
$ ares-package src/
Follow webOS SDK instructions on either a real TV or the SDK emulator to register a device, install and optionally launch programmatically.
Once your device is registered, tl;dr looks like:
$ DEVICE=MyTvName
$ ares-install --device $DEVICE eu.zopi.lgsnapclient_0.0.1_all.ipk
$ ares-launch --device $DEVICE -a eu.zopi.lgsnapclient
Just start the app. Playback will begin, provided your Snapserver WS stream is working correctly.
There are three LG “Magic Remote” key bindings:
- Press the red button to reload the app, eg. in case of network errors.
- Press the green button to toggle between the app and a fully black screen.
- Press the yellow button to toggle log visibility.
Note the whole UI moves every 10 seconds to prevent burn-in.