A premium, feature-rich Stardew Valley mod that adds a beautiful, modern music HUD overlay. It acts as a Universal Media Hub that tracks, controls, and displays details for almost any music player running on your system!
- 🎶 Universal YouTube Music Support — Full cross-platform integration. Works with browser-based YouTube Music (Chrome, Safari, Edge, Firefox, Brave, Arc, Helium, and more) on Windows, macOS, and Linux, plus the official YouTube Music Desktop App.
- 🎵 Massive Player Expansion — Out-of-the-box support for Spotify, iTunes, Apple Music, Amazon Music, TIDAL, Deezer, Cider, Plexamp, foobar2000, MusicBee, AIMP, Winamp, MediaMonkey, VLC, and many more.
- 🗺️ Hide On Map — Automatically hides the HUD when the map or custom overlay menus are opened (fully compatible with World Atlas and other map-altering mods).
- 🎨 Visual Polish — Custom text shadow styling for readability on busy backgrounds, interactive button hover glow effects, and a cozy theme engine.
- ✨ Smooth Transitions — Beautiful, subtle fade-in animations whenever a track changes or state updates.
- 🎯 Advanced Album Art Engine — Uses a smart token-based Jaccard similarity matching algorithm to fetch correct artist metadata and high-resolution cover arts from the iTunes API.
Standard process window queries often cache web page titles (especially on Chrome and other Chromium browsers on Windows), causing track changes to go unnoticed. Junimo Jams fixes this by using platform-specific engines:
- Windows: Calls low-level APIs (
EnumWindowsandGetWindowText) to actively scan browser window titles in real time. - macOS: Queries Safari, Chrome, Edge, and Brave using AppleScript scripts wrapped in safety checks to prevent closed browsers from launching.
- Linux: Queries browser players natively using the D-Bus MPRIS2 protocol.
When tracking browser tabs or playing files with missing metadata, the track name might display as just "Song Title" (with no artist).
- Junimo Jams detects this generic state and queries the iTunes API using only the track title.
- It scores results using a Jaccard token similarity index.
- If a match scores above 0.85, it automatically resolves the true artist name and downloads the corresponding 600x600 high-resolution album cover.
- Results are saved in the local
cache/folder (image files as.png, resolved artists as.txt) to ensure instant loading on subsequent plays with zero network overhead.
Control your music directly inside the farm! Clicking the interactive buttons on the HUD triggers playback controls:
- Windows: Dispatches virtual media key events (
VK_MEDIA_PLAY_PAUSE,VK_MEDIA_NEXT_TRACK,VK_MEDIA_PREV_TRACK). - macOS: Issues AppleScript commands directly to active players.
- Linux: Sends D-Bus MPRIS2 control messages (
PlayPause,Next,Previous) to active player processes.
Normalizes Turkish (ı, ş, ğ, ç, ö, ü), Cyrillic, and other special characters to prevent broken boxes and formatting errors in standard Stardew Valley game fonts.
| Category | Supported Players | Windows | macOS | Linux |
|---|---|---|---|---|
| Streaming | Spotify, Apple Music / iTunes, Amazon Music | ✅ | ✅ | ✅ |
| YouTube Music | Browser Tabs (Chrome, Edge, Firefox, Brave, Safari, Arc, Helium) | ✅ | ✅ | ✅ |
| Desktop App | Official YouTube Music Desktop App | ✅ | — | — |
| High-Fidelity | TIDAL, Deezer, Cider, Plexamp | ✅ | ✅ | ✅ |
| Media Players | foobar2000, MusicBee, AIMP, Winamp, MediaMonkey, VLC | ✅ | — | — |
| Custom | Any custom process name specified in ExtraPlayers |
✅ | ✅ | ✅ |
💡 Tip: On Linux, any player conforming to the MPRIS2 D-Bus standard is auto-detected. On Windows/macOS, you can add custom process names using the
ExtraPlayerssetting inconfig.json.
- Download and install the latest version of SMAPI.
- Download Junimo Jams from Nexus Mods and extract it into your
Stardew Valley/Modsfolder. - (Highly Recommended) Install Generic Mod Config Menu to configure settings in-game.
- Launch the game, open your favorite player, and start listening!
Configure the mod using Generic Mod Config Menu in the game, or edit the config.json file manually:
| Setting | Default | Description |
|---|---|---|
ShowHud |
true |
Toggle the entire HUD overlay. |
HudPositionX |
20 |
Horizontal coordinate of the HUD (in pixels). |
HudPositionY |
20 |
Vertical coordinate of the HUD (in pixels). |
HudScale |
1.0 |
Scale factor (from 0.5 up to 2.0). |
OnlyShowInInventory |
false |
When true, the HUD only displays inside your inventory screen. |
HideOnMap |
true |
When true, automatically hides the HUD when opening the map or non-inventory menus. |
Theme |
"default" |
Visual skin. Point to any folder containing theme assets inside assets/. |
ShowAlbumArt |
true |
Toggle displaying album cover art. |
ShowPlaybackButtons |
true |
Toggle displaying play, pause, next, and previous buttons. |
ExtraPlayers |
[] |
List of additional process names to track (e.g. ["MyPlayer", "Foobar"]). |
Junimo Jams is designed with custom themes in mind! A theme consists of a folder inside the assets/ directory containing the following elements:
background.png(400x150 px): The frame overlay.btn_play.png,btn_pause.png,btn_next.png,btn_prev.png(128x128 px): Button assets.
For more details on coordinate systems, color keys, and customizing labels, refer to the THEME_SPEC.md file.
Built with C# targeting .NET 6 and the SMAPI SDK.
- Clone this repository.
- Open
JunimoJams.slnusing Visual Studio, JetBrains Rider, or VS Code. - Build the project using the IDE or command line:
dotnet build
- Build configurations automatically detect your Stardew Valley installation and place the compiled files directly in the
Modsfolder.
- Mod design and implementation by MehmetCanWT.
- Built on top of the wonderful SMAPI modding API.
Stardew Valley is a trademark of ConcernedApe LLC. This mod is an independent project and is not affiliated with ConcernedApe, Spotify, Apple, Google, or any other music streaming service.
