Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ovos-media-plugin-mass

Music Assistant playback backend for OVOS. It controls Music Assistant players, playing the library://<type>/<id> uris that the Music Assistant catalog returns.

It ships one backend on both media stacks: the same plugin works with the legacy ovos-audio service and with the modern ovos-media service.

Stack Entry-point group Class
ovos-media (current) opm.media.audio MAssOCPAudioService
ovos-audio (legacy) mycroft.plugin.audioservice MAssAudioService

To search Music Assistant by voice you also need a catalog component: ovos-media-provider-mass on the ovos-media stack, or ovos-skill-music-assistant on the legacy OCP/ovos-audio stack.

Install

pip install ovos-media-plugin-mass

Configuration

The easiest way is the bundled ovos-mass-autoconfigure command, which scans your server and writes both the legacy and ovos-media player entries into mycroft.conf:

$ ovos-mass-autoconfigure
This script will auto configure Music Assistant devices under your mycroft.conf
Make sure your Music Assistant server is accessible from this device
Please enter your Music Assistant server url: http://192.168.1.100:8095

Scanning...
    - Found player: HomeLabRenderer - dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9

mycroft.conf updated!

When more than one player is found, it lists them and prompts for the default (the only player written to the legacy Audio backends and marked active: true on the ovos-media side — every other discovered player is written with active: false):

$ ovos-mass-autoconfigure
This script will auto configure Music Assistant devices under your mycroft.conf
Make sure your Music Assistant server is accessible from this device
Please enter your Music Assistant server url: http://192.168.1.100:8095

Scanning...
    - Found player: HomeLabRenderer - dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9
    - Found player: KitchenSpeaker - dlna:uuid:9a11a2f0-0a3b-4e3d-9a0e-2a5b6c7d8e9f
0 - HomeLabRenderer:dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9
1 - KitchenSpeaker:dlna:uuid:9a11a2f0-0a3b-4e3d-9a0e-2a5b6c7d8e9f
select default mass device: 0

mycroft.conf updated!

Run non-interactively (CI, provisioning scripts) with --url and --default/--player (index or player_id); without them, and with multiple players found on a non-tty stdin, the script exits with an error instead of hanging on input():

$ ovos-mass-autoconfigure --url http://192.168.1.100:8095 --default 0

It emits configuration for both stacks:

// Legacy Audio Service:
{"backends": {"mass-HomeLabRenderer:dlna": {
    "active": true, "type": "ovos_mass", "player_type": "dlna",
    "identifier": "uuid:4b778a71-0499-485a-a5a4-88140603fba9",
    "url": "http://192.168.1.100:8095"}}}

// ovos-media Service:
{"audio_players": {"mass-HomeLabRenderer:dlna": {
    "active": true, "module": "ovos-media-audio-plugin-mass", "player_type": "dlna",
    "aliases": ["HomeLabRenderer", "Home Lab Renderer"],
    "identifier": "uuid:4b778a71-0499-485a-a5a4-88140603fba9",
    "url": "http://192.168.1.100:8095"}}}

See docs/configuration.md for the field reference.

Docs

Tests

pip install -e .[test]
pytest test/                  # unit + end2end (ovoscope), network-free

The end-to-end tests (test/end2end/) drive both backends through a real ovos-audio AudioService on a FakeBus via ovoscope, with the Music Assistant HTTP client mocked.

License

Apache-2.0

Metadata

Release files for ovos-media-plugin-mass 0.1.1a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-media-plugin-mass 0.1.1a2
File Size Uploaded Provenance Actions
ovos_media_plugin_mass-0.1.1a2.tar.gz 21.3 kB Without provenance Details for ovos_media_plugin_mass-0.1.1a2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovos-media-plugin-mass 0.1.1a2
File Interpreter ABI Platform Actions
ovos_media_plugin_mass-0.1.1a2-py3-none-any.whl Python 3 none any Details for ovos_media_plugin_mass-0.1.1a2-py3-none-any.whl

Total release size: 37.4 kB

Release files / ovos_media_plugin_mass-0.1.1a2.tar.gz

Download URL ovos_media_plugin_mass-0.1.1a2.tar.gz
Size 21.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3b29540acd448643ebf127da8c58269f77f4ac796f978b16b5787735af078c6e
BLAKE2b-256 checksum
How to use checksums
12b84c05f0ad01145a6ed56c7c5346869f46f8016ba48d032259040b88482362
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ovos_media_plugin_mass-0.1.1a2-py3-none-any.whl

Download URL ovos_media_plugin_mass-0.1.1a2-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa274ce3e504971018fcc6e1fa150953fa22bb4740b04c43ea31bc1473079733
BLAKE2b-256 checksum
How to use checksums
d52c5543be81e84d7f20b3308d9f2bdc165465de6e26c4291b3e8f4a7cd4ae95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for ovos-media-plugin-mass 0.1.1a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page