Metadata-Version: 2.1
Name: Mopidy-Snapduck
Version: 1.0.0
Summary: Mopidy extension for controlling a local Snapcast client
Home-page: https://github.com/daniele-athome/mopidy-snapduck
Author: Daniele Ricci
Author-email: daniele+pypi@casaricci.it
License: GPLv3
Project-URL: Source, https://github.com/daniele-athome/mopidy-snapduck
Project-URL: Issues, https://github.com/daniele-athome/mopidy-snapduck/issues
Platform: UNKNOWN
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: Mopidy (>=3.0.0)
Requires-Dist: Pykka (>=2.0.1)
Requires-Dist: setuptools
Provides-Extra: dev
Requires-Dist: check-manifest ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: flake8-bugbear ; extra == 'dev'
Requires-Dist: flake8-import-order ; extra == 'dev'
Requires-Dist: isort[pyproject] ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Provides-Extra: lint
Requires-Dist: check-manifest ; extra == 'lint'
Requires-Dist: flake8 ; extra == 'lint'
Requires-Dist: flake8-bugbear ; extra == 'lint'
Requires-Dist: flake8-import-order ; extra == 'lint'
Requires-Dist: isort[pyproject] ; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'

Mopidy-Snapduck
===============

Mopidy extension that controls its own instance of the [Snapcast client](https://github.com/badaix/snapcast).

In a [multi-room, multi-Mopidy configuration](https://www.home-assistant.io/blog/2016/02/18/multi-room-audio-with-snapcast/)
the sound card of a room speaker is either owned by Snapcast client or by the local Mopidy instance. This extension will
start `snapclient` when Mopidy is stopped and stop it when Mopidy is playing.

## Installation

Install by running:

```
sudo python3 -m pip Mopidy-Snapduck
```

## Configuration

Before starting Mopidy, you must add configuration for Mopidy-Snapduck to your Mopidy configuration file::

```
[snapduck]
snapclient_path = /path/to/snapclient
snapclient_args = arguments_for_snapclient
```

The following configuration values are available:

* `snapduck/enabled`: If the snapduck extension should be enabled or not. Defaults to `true`.
* `snapduck/snapclient_path`: Path to the snapclient executable. Defaults to `/usr/bin/snapclient`.
* `snapduck/snapclient_args`: Arguments for snapclient. Defaults to none.

## ALSA

When using ALSA Mopidy will not release the sound card immediately after stopping, so it is recommended
to configure a dmix device to enable shared access between Mopidy and the Snapcast client.


