2.0.1 • Published 7 months ago

airblock-manager v2.0.1

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
7 months ago

AirBlock

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
}