MBXHub

by HALRAD Research

Charms

A charm is a button on the charm bar. It opens a web app, fires an HTTP request at a device on your network, or calls an MBXHub endpoint. The bar sits on the dashboard, and since v0.5.5.0 it is also a desktop Charm Bar (Ctrl+Alt+B), where each charm opens as its own window.

They all ship on by default — hide the ones you have no hardware for under MBXHub Settings → Dashboard → Hidden charms.

Library

Finding something to play.

Playing

Four takes on now playing, for four sizes of screen.

AutoQ

Tuning the queue that fills itself.

Devices

Hardware on the network, controlled from the same bar.

System

The hub itself.

Build your own

A charm is a drop-in .json manifest in the charms/ folder. No build step, no restart of anything but MusicBee. This is the whole of browse.json:

{
    "id": "browse",
    "label": "Browse",
    "expand": [
        {
            "icon": "<svg viewBox='0 0 16 16' width='16' height='16' fill='none' stroke='currentColor' stroke-width='1.5'><circle cx='7' cy='7' r='4.5'/><line x1='10.5' y1='10.5' x2='14' y2='14'/></svg>",
            "label": "Browse",
            "action": "webapp /pages/browse.html",
            "display": "standalone"
        }
    ]
}

An action is one of webapp <path> to open a page, post <endpoint> to call the hub, http <url> to reach a device on the LAN, or iframe-cmd <name> to talk to the charm's own open window — which is how the WiiM, Fosi and Mixer charms put volume and mute on the bar itself. display decides whether the charm opens inline on the dashboard, standalone in its own window, or both.

Order and visibility live in charmBar in mbxhub.json, or on the Dashboard tab in MBXHub Settings.

Charms in the feature tour → · Datasheet → · REST API reference →