{"id":50580841,"url":"https://github.com/foonerd/evo-device-volumio","last_synced_at":"2026-06-05T02:01:24.730Z","repository":{"id":353342415,"uuid":"1218823306","full_name":"foonerd/evo-device-volumio","owner":"foonerd","description":"Volumio vendor extensions on top of evo's reference audio device. Vendor-specific plugins, branding, and packaging.","archived":false,"fork":false,"pushed_at":"2026-05-12T21:14:27.000Z","size":453,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T23:25:31.058Z","etag":null,"topics":["alsa","arm64","armv7","audio","embedded-linux","evo-framework","mpd","music-player","volumio","x86-64"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foonerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-23T08:49:37.000Z","updated_at":"2026-05-12T21:14:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/foonerd/evo-device-volumio","commit_stats":null,"previous_names":["foonerd/evo-device-volumio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/foonerd/evo-device-volumio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foonerd%2Fevo-device-volumio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foonerd%2Fevo-device-volumio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foonerd%2Fevo-device-volumio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foonerd%2Fevo-device-volumio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foonerd","download_url":"https://codeload.github.com/foonerd/evo-device-volumio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foonerd%2Fevo-device-volumio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33927313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alsa","arm64","armv7","audio","embedded-linux","evo-framework","mpd","music-player","volumio","x86-64"],"created_at":"2026-06-05T02:01:23.269Z","updated_at":"2026-06-05T02:01:24.714Z","avatar_url":"https://github.com/foonerd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# evo-device-volumio\n\n\u003e Vendor extensions for Volumio on top of [evo-device-audio](https://github.com/foonerd/evo-device-audio), the reference generic audio device. Dormant until the first Volumio-specific plugin or branding work lands.\n\nStock the plugins. Sign the pieces. The device composes.\n\nA typo in an ALSA parameter is a one-line config edit, not a redeploy. A bug in playback is a one-plugin rebuild, not a firmware flash. A core bump is a deliberate act, not a surprise. This repository is what makes that possible for Volumio's own additions to the reference audio device.\n\n## How it fits together\n\n```mermaid\nflowchart LR\n    core[\"\u003cb\u003eevo-core\u003c/b\u003e\u003cbr/\u003e\u003ci\u003eframework, upstream\u003c/i\u003e\u003cbr/\u003esource + tags + signed binaries\"]\n    ref[\"\u003cb\u003eevo-device-audio\u003c/b\u003e\u003cbr/\u003e\u003ci\u003ereference generic device\u003c/i\u003e\u003cbr/\u003ebrand-neutral plugins\u003cbr/\u003e+ device build\"]\n    src[\"\u003cb\u003eevo-device-volumio\u003c/b\u003e\u003cbr/\u003e\u003ci\u003ethis repo\u003c/i\u003e\u003cbr/\u003evendor extensions\"]\n    art[\"\u003cb\u003eevo-device-volumio-artefacts\u003c/b\u003e\u003cbr/\u003e\u003ci\u003evendor release plane\u003c/i\u003e\u003cbr/\u003emanifest + signed bytes\"]\n    dev[\"\u003cb\u003eDevice\u003c/b\u003e\u003cbr/\u003e\u003ci\u003eRaspberry Pi\u003c/i\u003e\"]\n\n    core ==\u003e|pinned by tag| ref\n    ref ==\u003e|consumed as reference| src\n    src ==\u003e|cross-compile, sign, publish| art\n    art ==\u003e|manifest-driven fetch| dev\n```\n\nFour repositories, one flow. `evo-core` ships source and tags. `evo-device-audio` is the reference generic device — brand-neutral audio plugins under `org.evoframework.*` plus the device build that links them. This repository extends that reference with Volumio-specific plugins (`com.volumio.*`), branding, and any divergent UI; it signs its own pieces with the vendor key and publishes to its own artefacts repository. Devices admit `org.evoframework.*` plugins from the reference and `com.volumio.*` plugins from here.\n\nThe architectural arrangement: framework (evo-core) / reference generic device (evo-device-audio) / vendor distribution (this repo). Each tier has its own release cadence and signing key; the whole stack composes into the device's deployable image.\n\n## Status\n\n**Dormant.** Brand-neutral plumbing (MPD playback, local-tag metadata, local artwork, ALSA composition) lives upstream in [evo-device-audio](https://github.com/foonerd/evo-device-audio) under `org.evoframework.*`. This repository activates when the first vendor-specific plugin or branding work lands. Current candidate: a metadata plugin that integrates with Volumio's existing metadata pipeline.\n\n### Landed\n\n-   Milestone 0 - distribution-process showcase ([SHOWCASE.md](SHOWCASE.md)).\n-   Milestone 1 - repository scaffolding (Cargo workspace, licence, docs, placeholder directories).\n-   Milestone 2 - `catalogue/volumio.toml` declaring 15 racks, 26 shelves, and the track-album relation predicates.\n-   Plugin-tier migration - brand-neutral plugins moved to [evo-device-audio](https://github.com/foonerd/evo-device-audio); the commons signing key (public half) is bundled in `keys/` so this distribution can admit `org.evoframework.*` plugins.\n\n### Consumed from evo-device-audio\n\n| Plugin                              | Slot                             |\n|-------------------------------------|----------------------------------|\n| `org.evoframework.playback.mpd`     | `audio.playback`                 |\n| `org.evoframework.metadata.local`   | `metadata.providers`             |\n| `org.evoframework.artwork.local`    | `artwork.providers`              |\n| `org.evoframework.composition.alsa` | `audio_processing.composition`   |\n\n`evo-core` is pinned at tag `v0.1.9` via `[workspace.dependencies]` in `Cargo.toml`. Bumps are deliberate; see [DEVELOPING.md](DEVELOPING.md) for the procedure.\n\n## Documentation\n\n| If you are... | Read |\n|---|---|\n| **New to this repository** | [SHOWCASE.md](SHOWCASE.md) - the distribution-process showcase. |\n| **Bringing up a Pi from blank Pi OS Lite** | [BUILD.md](BUILD.md) - the step-by-step runbook. |\n| **Working on the source tree** | [DEVELOPING.md](DEVELOPING.md) - workspace conventions, build and test commands, pin-upgrade procedure. |\n| **Looking at the reference device** | [evo-device-audio](https://github.com/foonerd/evo-device-audio) - brand-neutral audio plugins + device build. |\n| **Looking at the framework** | [evo-core](https://github.com/foonerd/evo-core) - upstream framework docs. |\n\n## For distributions that follow\n\n`evo-device-bmw-alpine-900`, `evo-device-acme-player`, whichever vendor distribution comes next: start from [evo-device-audio](https://github.com/foonerd/evo-device-audio) (the reference) and add. The pattern is the same everywhere:\n\n-   A source repo named `evo-device-\u003cvendor\u003e`, an artefacts repo named `evo-device-\u003cvendor\u003e-artefacts`, both owned by the same vendor.\n-   The framework pinned by tag at the distribution's discretion (or via the reference device's pinning).\n-   Every vendor piece signed with the vendor's key. Brand-neutral pieces consumed from the reference device's release plane and verified with the commons trust root.\n-   Devices fetch what each manifest names, on the channel they track.\n\n## Related\n\n-   [foonerd/evo-core](https://github.com/foonerd/evo-core) - the framework.\n-   [foonerd/evo-device-audio](https://github.com/foonerd/evo-device-audio) - the reference generic audio device.\n-   [foonerd/evo-device-volumio-artefacts](https://github.com/foonerd/evo-device-volumio-artefacts) - the release plane for this vendor distribution.\n\n## License\n\nApache 2.0. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoonerd%2Fevo-device-volumio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoonerd%2Fevo-device-volumio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoonerd%2Fevo-device-volumio/lists"}