A custom Elgato Stream Deck plugin that connects to MusicBee. It shows what's currently playing on your keys and dial, and lets you control MusicBee (love, shuffle/auto DJ, repeat, and dial navigation) through fully configurable hotkeys.
- Now Playing key — one action, configurable per button:
- Artist, Title, Album, or Artist + Title
- Love — filled/outline heart, sends a hotkey when pressed
- Album cover
- Progress bar — fills left to right as the track plays, with configurable font, colors, sizes, and outline
- Shuffle / Auto DJ — one button reflecting MusicBee's single shuffle/auto-DJ toggle, with its own icon per state
- Repeat — off / all / one, with its own icon per state
- A neat "No music" state when nothing is playing
- Album Cover dial:
- Shows the album cover on the touchscreen
- Optional scrolling "Artist - Title" ticker next to the cover
- Rotate left/right and press each send their own configurable hotkey
- All hotkeys are recorded by pressing them directly in the settings panel — no need to know virtual key codes
- File paths (
NowPlaying.txtand the cover image) are configured once and shared by every button — nothing is hardcoded - Icon colors (shuffle/auto DJ, repeat) are configurable per button
- Windows (hotkeys are sent via a background PowerShell process using the Windows
keybd_eventAPI, so this plugin does not work on macOS) - Stream Deck software 7.1 or later
- MusicBee, configured to write now-playing info to a text file and a cover image (see Configuration)
- Download the latest
beedeck.streamDeckPluginfile. - Double-click it. Stream Deck installs the plugin automatically.
- Drag the Now Playing action onto one or more keys, and the Album Cover action onto a dial.
- Open the settings of any button and set the paths to
NowPlaying.txtand your cover image under Files (see Configuration). This only needs to be done once — it applies to every button. - Configure the hotkeys you want each button to send (see below).
https://github.com/johnEcash/mb_NowPlayingTags
MusicBee needs to be set up to write a small text file whenever the track or playback state changes, with one key=value pair per line. beedeck reads these keys (case-insensitive):
| Key | Example | Meaning |
|---|---|---|
artist |
Queen |
Track artist |
title |
The Show Must Go On |
Track title |
album |
Innuendo |
Album name |
Love |
1 |
1 = loved, 0/empty = not loved |
duration |
265 |
Total track length in seconds (or mm:ss) |
position |
42 |
Current playback position in seconds (or mm:ss) |
shuffle |
1 |
1 = shuffle is on |
autodj |
1 |
1 = Auto DJ is on |
repeat |
all |
0/empty = off, all = repeat playlist, one = repeat track |
shuffle and autodj are mutually exclusive in MusicBee's own UI (one button/hotkey cycles between normal → shuffle → auto DJ → normal), so beedeck reads them together to decide which of the three states to show.
MusicBee should also write the current album cover to an image file (.jpg or .png) whenever the track changes. In the settings panel, pick either file — beedeck automatically looks for the other extension at the same location if the chosen one isn't found, and falls back to a placeholder icon if neither exists.
Every hotkey field (Love, Shuffle/Auto DJ, Repeat, and the dial's rotate-left/rotate-right/press) is set the same way:
- Open the button's settings in the Stream Deck software.
- Click the hotkey field.
- Press the key combination you want — it's recorded automatically, including Win/Ctrl/Shift/Alt.
- Make sure the same shortcut is assigned to the matching action in MusicBee's own hotkey settings.
Since Shuffle/Auto DJ and Repeat are each a single toggle/cycle button in MusicBee, only one hotkey is needed per button — pressing it just tells MusicBee to advance to the next state, and beedeck reflects whatever state comes back in NowPlaying.txt.
Note: Windows won't deliver a hotkey to an application that's running as administrator unless Stream Deck is also running as administrator. If a hotkey doesn't seem to reach MusicBee, check this first.
- Windows only (see Requirements)
- The settings panels load a small UI component library from a CDN, so an internet connection is needed the first time you open a button's settings
- A hotkey won't reach an application running as administrator unless Stream Deck also runs as administrator