Note: It's a very working title - just to name it for myself.
- Audio playback control using various.
- Spotify;
- Lights control.
- BleBox;
- configuration via JSON file.
Whenever possible, any subsystem will have a Void implementation that will simply reduce in no-op handling of
corresponding aspects. For example setting audio driver to Void will make audio subsystem available, but will
effectively make it muted regardless of hardware and other parts of the system. It will, whenever possible, handle
operations gracefully, without failing. Will just do nothing and pretend it's done - you can think of it like your
office colleague.
Configuration is loaded from config.json file in current directory (in future other formats and location specified by
command-line argument can be expected). Here is example structure of configuration file:
{
"party_name": "Wesoła Kompanija",
"game_master": {
"name": "Rafał Wrzeszcz"
},
"audio": {
"type": "Spotify"
},
"lights": {
"type": "BleBox",
"host": "192.168.0.10"
}
}Currently only implemented handler for audio subsystem is Spotify. It uses D-Bus to send playback requests to local
Spotify client. You need to have it installed and running for the driver to make any effect - otherwise it will not
fail, but just send messages that will not be handled by any consumer, thus make no effect.
Currently only implemented handler for lights subsystem is BleBox. Lights controls are limited to brightness level.