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.

Related projects

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovos_media_plugin_mass-0.0.3a1.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ovos_media_plugin_mass-0.0.3a1-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file ovos_media_plugin_mass-0.0.3a1.tar.gz.

File metadata

  • Download URL: ovos_media_plugin_mass-0.0.3a1.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ovos_media_plugin_mass-0.0.3a1.tar.gz
Algorithm Hash digest
SHA256 f99d15c479e8004ecbf224ab2b7bfe05504d4bc3572a5421dd63b192fe748f9e
MD5 c66fd13c4ba8f3a5ef26ad74aafbb836
BLAKE2b-256 dd449fe265fac8f1dde22551060237342dec4081087404f1844a272b98bafae2

See more details on using hashes here.

File details

Details for the file ovos_media_plugin_mass-0.0.3a1-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_media_plugin_mass-0.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a96453af7e7c6eb5c67ffe9333be6c7dcd22135a8ebd0de8c7b1603a7acbce0
MD5 5621f019702ef0012958e3e55f06302e
BLAKE2b-256 be95bb1c652f2d5d24e5414616778d5d841f6afd77e469af7bf7275b55d9e2ee

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.3a1 This release

2 files

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