Download MBXHub
MBXHub - The bridge to everything else.
v0.5.4.4 (current) — QQQQ — Quantum Q.
Balance & Refinements, and a few other new things: AutoQ learns to mix like a DJ — each pick flows from the last by key, tempo and timbre, computed on your own library with no tagging. One Tight↔Loose dial balances coherence against variety, and the Workbench grows a Channels mood map with every tuning knob under one roof.
- DJ-style harmonic mixing — every pick flows from the previous track by key (Camelot), tempo (half/double-aware) and timbre — mix in key, no tagging required. Watch the Camelot wheel light up on the Channels tab.
- The Tightness dial — one Tight↔Loose control sets how adventurous a run is: coherent, harmonically-mixed flow at Tight, wide-roaming variety at Loose. Saved with each station.
- Build your own queue & Fresh mode — the Workbench Builder drives the queue by hand; Fresh plays what you haven’t heard in a while, never-played first.
latest: v0.5.4.4
Examples
AutoQ Workbench (v0.5.4.2)
AutoQ lives in MusicBee as a first-class navigator tab — and it's theme-aware, following whatever skin MusicBee wears: dark (left) or light (right). A corner toggle pops it out as a floating window. Curate the queue with each track's mood read, dial in a station, flow, and filter, then Generate, Connect a journey, or go ON-AIR. Click to enlarge.
Field Factory (v0.5.3.8)
Experimental Labs facility — see each track's SMFM valence/arousal and raw score bins with their mood meanings, and write the two values into MusicBee Custom* fields. Default-off; enable from Settings → Labs. Click to enlarge.
Setlist → CUE (v0.5.3.5)
Time-coded setlists in the Comment tag (left) parse into a Tracklist tab with per-entry seek (right). One click writes a real .cue sidecar; the album then expands into virtual tracks across browse, search, queue, and the wavescrubber. Click for a closer look.
Cmd+K palette (v0.5.3.0)
Ctrl+K opens a federated search across tracks, albums, artists, playlists, and saved searches — on the dashboard and play.html, same component on both.
XL charms & row breaks
Bigger charm buttons that flow onto multiple rows.
play.html evolved (v0.5.2.9)
In-popover playlist picker (Play / Next / Last / Add). ▾ overflow holds mixer, ARiA, shuffle/repeat, AutoDJ, size cycle. Middle-pane buttons wear charm icons; the cycle button previews the next mode. ⇅ toggles only the right column. ☰ collapses the artist drawer on desktop.
Right-click deep links (v0.5.3.5)
Right-click on the now-playing title, artist, or album for a context menu with Open artist in browse, Copy filename, Copy file path, Copy folder path, and Copy deep link — a shareable URL that lands on the same track in browse.
Waveform scrubber (v0.5.3.4)
Peak + RMS overlay painted behind the played-portion fill, on both the play.html transport bar and the dashboard. New /nowplaying/sound-graph-ex endpoint backs a shared transport-wave.js component.
Custom sorts (v0.5.3.4)
Define your own sort orders over any MusicBee tag (Custom1–16, Virtual1–25, year / sort fields) in Settings. They appear in the Albums tab's sort dropdown next to the built-ins.
Theme settings
Dashboard color picker, per-channel controls.
Explore
Album view library browser.
Shell tray menu
| What's Included | Description |
|---|---|
| mb_MBXHub.dll | REST API, WebSocket, Dashboard, Discovery, AutoQ, TrueShuffle, Charms, Mixer, Device Proxy, Audio Streaming, Radio |
| MBXHub.exe | Shell - SMTC media controls bridge, Windows app identity, system-tray dashboard / Machines submenu, and firewall configuration (requires .NET 8.0 Desktop Runtime) |
Library Browser
Mixer Charm
XL Charms
Shell Integration
MusicBee RDPAPP
Charm Bar
Custom Theme
Installation
- Pages — stale pages on disk are detected and updated automatically on startup
- Legacy cleanup —
mb_MBXQ.dll,mb_smtc.dll, andfirebug.exeare removed from your Plugins folder if present (matched against previous HALRAD distributions, now merged into MBXHub)
pages\ folder at %APPDATA%\MusicBee\MBXHub\, or use MBXHub Settings → General → Export Pages to overwrite with the latest versions.
Step 1: Download & Extract
Download and extract all files.
Step 2: Copy to Plugins
Copy the DLL and EXE files to your MusicBee Plugins folder:
- Default:
C:\Program Files (x86)\MusicBee\Plugins\ - Portable:
[MusicBee folder]\Plugins\
The SBOM files are informational and don't need to be copied.
Step 3: Start MusicBee
Launch MusicBee. MBXHub loads automatically.
Step 4: Configure Firewall
Open the Tools menu in MusicBee:
Tools Menu
Firewall Settings
- Go to MBXHub Settings and use the Firewall section to configure network access
- Optionally, export a script and run it manually
Step 5: Open Dashboard
Open a browser:
http://localhost:8080
You should see the Now Playing dashboard. Use the theme toggle in the header to switch between light and dark modes:
http://localhost:8080/docs - for the docs.
http://localhost:8080/pages - for the HTML pages.
Dashboard
Dashboard Search
Compact
Player (Desktop)
Player (Mobile)
Dashboard (embedded)
- Album artwork and track info
- Artist/Genre influence buttons
- Progress bar with seek
- Ban, star rating, and love buttons
- Playback controls
- Volume control (routes to configurable default fader)
- Charm bar — Mixer, Browse, NowPlaying, Player, Phantom, SMTC Link
- Shuffle (Off/Shuffle/DJ) and repeat toggles
- ARiA presets
- Playlist selector
- Theme toggle (light/dark/midnight)
Player Page (/pages/player.html)
- 3-column layout (responsive for tablet/mobile)
- Browse: Albums, Artists, Genres, Playlists, Podcasts, Radio, Moods
- Search with instant results
- Queue panel with Up Next
- Now, Next, +Q buttons on tracks
- Lyrics display
- Fully customizable HTML/CSS/JS
- Edit in
%APPDATA%\MusicBee\MBXHub\pages\
Step 6: Set Up Mood Data (Optional)
AutoQ classifies tracks by mood using 14 audio features extracted by Truedat. Without mood data, AutoQ falls back to genre/BPM metadata estimates.
Mood data lives in a single mbxmoods.json file. MBXHub reads it directly — there's no database, no peer sync, no background scanner. Generate the file once with Truedat and drop it in the right place; AutoQ picks it up on the next startup.
- Enable iTunes XML export - In MusicBee, go to Edit → Preferences → Library and enable "iTunes Music Library.xml" export
- Download Truedat (source) - Extract the folder
- Run Truedat -
truedat.exe "iTunes Music Library.xml"
extract it into \Library\truedat \Library is where the XML is exported, then from the library folder run 'truedat\truedat.exe'
This scans your library and producesmbxmoods.json. Truedat's scan is incremental and resumable — large libraries take hours (or days) but you can stop and restart any time. - Configure a custom tag - In MusicBee, go to Settings → AutoQ →Select the field to write the Mood categorization label". MBXHub writes the mood channel name (e.g. "Euphoric", "Chill") into this field.
Custom Tags Setup
The custom tag can be configured in mbxhub.json via autoQ.moodTagField and autoQ.moodTagFieldName. This lets you see mood data in MusicBee's column browser, use it in auto-playlists, and sort by mood.
The AutoQ Workbench — click to enlarge
Tuning Console (earlier UI)
System Requirements
| Component | Requirement |
|---|---|
| Operating System | Windows 10 or later |
| MusicBee | MusicBee 3.x or later |
| Framework (Plugin) | .NET Framework 4.8 (included with Windows 10+) |
| Framework (Shell) | .NET 8.0 Desktop Runtime (for MBXHub.exe SMTC bridge — choose the Desktop Runtime column for your architecture) |
Configuration
Open MusicBee → Edit → Preferences → Plugins → Configure
Tools Menu
Configuration Tab
Dashboard Tab
Features Tab
API Access Tab
Settings and logs are stored in:
%AppData%\MusicBee\MBXHub\
Files:
mbxhub.json- Configuration (ports, enabled modules)mbxhub.log- Debug log (when debug mode enabled)
Default Ports
| Service | Port |
|---|---|
| REST API + Dashboard | 8080 |
| WebSocket | 8080 |
| Shell SMTC | 8081 (REST port + 1) |
Troubleshooting
| Issue | Solution |
|---|---|
| Port already in use | Open MusicBee → Edit → Preferences → Plugins → MBXHub → Configure to change port |
| Connection refused | Use the Firewall section in MBXHub Settings to add firewall rules, or manually allow inbound TCP on port 8080 |
| Plugin not loading | Verify DLL is in correct Plugins folder |
| Pages not updating after upgrade | Page serving: (1) disk file if exists, (2) embedded resource fallback, (3) 404. Disk takes priority for customization, embedded for updates. Delete specific files from %APPDATA%\MusicBee\MBXHub\pages\ and refresh - embedded version served automatically, no restart needed. |
Build with the API
MBXHub has a full REST API. Build your own pages, automate your library, or let an AI do it for you.
# Grab the API cheat sheet
curl http://localhost:8080/llms.txt
Feed that to Claude or any AI and ask for what you want:
$ claude "Read http://localhost:8080/llms.txt and build me a vinyl-crate album browser with cover art"
Save the output to %APPDATA%\MusicBee\MBXHub\pages\ and open it at http://localhost:8080/pages/yourpage.html. The API uses relative URLs, so pages work on any MBXHub instance without changes.
Worked examples
| Playlist Creator Charm | A playlist viewer / editor charm for the dashboard — create, rename, reorder, add / remove tracks. | playlist-charm-prompt.md |
| MusicBee MCP server for AI agents | A seven-tool MCP server so Claude Desktop and other agents can drive MusicBee through MBXHub. | mcp.md • musicbee-mbxhub-mcp.zip |
| MusicBee Lyrion (LMS - Squeezebox) plugin | Browse and stream the MusicBee library on Squeezebox players, with AutoQ picking what plays next. | lms-dstm-prompt.md • musicbee-mbxhub-lms-dstm.zip |
Each example name links to the full writeup on the Features page.
Full API documentation: API Reference • llms.txt
Other HALRAD MusicBee Projects
- Clouseau - MusicBee inspector/debugger