airblock-manager
v2.0.1
Published
Service for managing multiple independent audio streams to AirPlay-enabled speakers
Downloads
9
Readme
Introduction
AirBlock Manager coordinates multiple independent audio streams to AirPlay-enabled speakers. This package includes the functionality to build a compatible OwnTone image (with a Docker host) and serve an AirBlock Manager API that manages the streaming functionality.
License & Attribution
This codebase is developed and maintained by Samuel Goodell, published via the Manganese organization, licensed under the MIT license. Attribution is appreciated but not legally required. If you do something cool with it, please let me know!
Dependencies
- OwnTone (previously forked-daapd) as the underlying media server, of which several virtualized instances may be created in Docker.
- Docker to host and isolate each OwnTone instance, and assign it a unique port on the host.
- Yargs for command line parsing.
Prerequisites
AirBlock requires Docker be installed on the same system, and a valid configuration file. See the Configuration section below.
Installation
npm install airblock-manager
Integrations
On its own, the AirBlock Manager is only useful as a building block for other developers. However, a Homebridge integration for AirBlock has also been created. If you are interested in developing another integration for a different system, please reach out!
Bugs & Feature Requests
If you run into any behavior that you suspect is a bug, or have a use case that necessitates different or additional behavior, please create an issue on the Manganese → Home → AirBlock Manager GitLab and I'll evaluate it.
Configuration
Provide a configuration object via the
{
"imageId": imageId,
"outputs": {
[outputName]: {
"devices": deviceName | deviceName[],
"keepAlive"?: {
"interval": number,
"duration": number,
"volume": number,
"audioFileName": string
}
}
},
"port": port
}