DeskDot Open in browser GitHub
Now Playing running on a 32×32 LED panel
32×32 · Livereal render
MediaLive

Now Playing

Spotify / YouTube Music / any player: album art, karaoke lyrics, vinyl, spectrum and more.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings19every one editable live in the studio, or by an agent with update_app_settings
ButtonsPrevious · Play/Pause · Nextstudio buttons, or app_action over MCP
Sourcenowplaying.pysrc/deskdot/apps/nowplaying.py

Settings

Settings
SettingTypeDefaultOptions / range
General
LayoutlayoutchoiceKaraoke
KaraokeSynced lyricsLyrics over artAlbum artArt + titleLiving artVinylArt + infoMinimalColour washSpectrum
Take over while music playstake_overIn the playliston/offOnon / off
Lyric colourcolorCurrent line in the Synced lyrics layoutcolour#ffd600any colour (#rrggbb)
AccentaccentProgress and equaliser (unless themed from art)colour#00ff8cany colour (#rrggbb)
Show art when no lyricsfallback_coveron/offOnon / off
Lyrics
Lyric offset (s)offsetPositive = earliernumber0.3-5 – 5
Sung colourkaraoke_colorcolour#ffd600any colour (#rrggbb)
Unsung colourkaraoke_dimcolour#5a5a78any colour (#rrggbb)
Lyric sizefontchoiceAuto (big when it fits)
Auto (big when it fits)Big 7 pxCompact 5 px
Lyric alignmentlyric_alignchoiceCentre
CentreLeft
Display
Progress barshow_progresson/offOnon / off
Show timeshow_timeon/offOnon / off
Timetime_modechoiceElapsed
ElapsedRemaining
Scroll speed (px/s)scroll_speednumber12.06 – 24
When nothing playsidle_screenchoiceNO MUSIC
NO MUSICClockLast album artNothing
Art
Art brightnessart_brightnessnumber1.00.2 – 1.0
Art behind lyricsart_dimBackground level for Lyrics over artnumber0.30.05 – 0.7
Colours from album arttheme_from_artSung colour and accent follow the cover's paletteon/offOnon / off
Pulse with the beatbeat_syncLiving art breathes with system audio (starts audio capture)on/offOffon / off

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview nowplaying --settings '{"layout":"lyrics"}' --out nowplaying.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/nowplaying/activate

Or ask your agent: “Show Now Playing on my panel”. It calls show_app with "nowplaying". New here? Set up DeskDot first.

More media apps