Junimo Jams

"Control your music and view the currently playing track with album art directly inside Stardew Valley. No login required, plug & play, and fully customizable!"
Back to Files

Junimo Jams - 5.3.0

File nameJunimoJams.zip
Uploader
FemboyMemoFemboyMemo
Uploaded
Sep 11, 2026
Downloads
13
Size
251.1 KB
File ID
8859489
Type
R
Release
Supported game versions
  • 1.6.15
  • 1.6

What's new

🌿 Junimo Jams — v5.3.0 Changelog

Cross-Platform Parity, Universal Player Architecture & HUD Polish Update


🐧 Linux Container & MPRIS2 Host Isolation Fix

  • Container / Flatpak / Steam Host Bridge: Resolved the MPRIS2 D-Bus isolation issue where Steam runtime containers or sandboxed environments could not reach host session media players. Added an automatic host bridge fallback executing /run/host/usr/bin/dbus-send with host LD_LIBRARY_PATH resolution.
  • Pear Desktop Music & Native Clients: Full first-class MPRIS2 integration for Pear Desktop Music, YouTube Music, Spotify, VLC, and all MPRIS2-compliant players under Linux.

🪟 Windows Native Architecture Overhaul

  • Expanded Player Ecosystem: Added out-of-the-box detection for Pear Desktop Music, YouTube Music Desktop App, VLC, Deezer, Plexamp, Nuclear, Roon, and Dopamine.
  • Zero-Lag Window Enumeration: Overhauled EnumWindows title scanning to pre-filter candidate media windows by title before resolving process IDs, eliminating dozens of unnecessary Process.GetProcessById allocations every poll cycle.
  • Smart Window Suffix Trimming: Automatically strips player suffixes (such as - VLC media player, - Pear Desktop, - foobar2000, - AIMP) and correctly separates artist and track titles across various hyphen and dash encodings (-, , ).

🍎 macOS Performance & Universal Player Bridge

  • Consolidated AppleScript Batching: Spotify and Apple Music queries now fetch playback state, artist, and track name within a single atomic AppleScript execution, eliminating up to 4 separate osascript process spawns per polling cycle and delivering a ~400% performance improvement.
  • System Events Window Title Fallback: Non-scriptable macOS players (such as Pear Desktop, Cider, TIDAL, VLC, Nuclear) are now monitored seamlessly via safe System Events window inspection.
  • Universal Media Key Dispatch: Play/Pause, Next Track, and Previous Track actions automatically dispatch system-level media key events for players lacking custom AppleScript dictionaries.

🎵 Universal YouTube Music & Electron Parser

  • Multi-Client Title Parsing: Enhanced YouTubeMusicParser with support for Pear Desktop Music, LibreWolf, Waterfox, Chromium, and unbranded Electron wrappers.
  • Separator Fallback: When client window titles omit the literal "YouTube Music" tag, track and artist names are intelligently split rather than falling back to an unparsed single string.

🎨 In-Game HUD & Visual Polish

  • Always-On Music HUD: The in-game HUD overlay is no longer hidden when no music is playing; players can now view the HUD at all times during gameplay with a clean, themed "No Music Playing" or "Paused / Idle" display.
  • Smart Map Suppression: In "Only In Menu" mode, the HUD intelligently hides when opening the Game Menu's Map tab or custom map/atlas/minimap overlays (e.g., World Map, Atlas, MiniMap).
  • Theme Button Box Proportions: Enlarged media control button dimensions (54x44 px) to prevent Stardew's 9-slice wooden texture boxes from collapsing into thin lines on the default theme, and made the main HUD container dynamically expand to comfortably contain playback controls.
  • Default Theme: Fresh installations default to the classic Stardew Valley "default" wooden theme.
  • Live SMAPI Console Diagnostics: Real-time track detection and playback state transitions are cleanly logged to the SMAPI developer console.

🌿 Junimo Jams — v5.2.1 Changelog

Stability, Robustness & Bugfix Update


🛡️ Core Stability & Bug Fixes

  • Input Suppression on Controls: Clicking HUD buttons (Play/Pause, Next, Prev) now explicitly suppresses in-game click events via SMAPI (Helper.Input.Suppress), preventing unintended tool swinging, weapon attacks, or accidental bomb placement.
  • Windows OS Handle Leak Fix: Ensured all Process instances created during active player detection (GetProcessesByName) are safely disposed via try/finally guards, preventing native OS handle accumulation over long play sessions.
  • Freeze Prevention (Timeout Guards): Added 1000–1500ms execution timeout limits with process termination fallbacks to all external CLI bridges (dbus-send on Linux, osascript on macOS, and media key dispatchers), ensuring Stardew Valley never hangs if an external media service becomes unresponsive.
  • MPRIS2 D-Bus Tag Isolation: Fixed Linux D-Bus metadata parsing where empty array properties (such as empty xesam:artist) could bleed into subsequent tags (like xesam:album).
  • BFS Flood-Fill Memory Optimization: Optimized the theme background transparency algorithm by marking visited nodes at enqueue time instead of dequeue time, preventing queue explosion, redundant point allocations, and GC micro-stutters.
  • Null & Zero-Dimension Guards: Hardened BuildRoundedTexture, DrawRoundedArt, and TruncateText against zero-size rectangles, disposed textures, or abnormal window states.
  • Window Inactive Hover Filter: Buttons no longer show hover highlights when Stardew Valley is running in the background or alt-tabbed.
  • Expanded Glyph Compatibility: Added ASCII normalizations for German, French, Spanish, Scandinavian, Polish, Romanian, Czech, and Ukrainian characters to guarantee no song titles render with box character () glitches.
  • SMAPI 1.6+ Modern Manifest: Added "MinimumGameVersion": "1.6.0" to manifest.json.

🌿 Junimo Jams — v5.2.0 Changelog

Previous Release


🎶 Universal YouTube Music Support

  • Browser & Desktop Support
    • Out-of-the-box support for browser-based YouTube Music (including Chrome, Safari, Edge, Brave, Arc, Firefox, Helium, and more).
    • Native desktop app integration.
  • Real-Time Tracking
    • Built using custom native hooks: Windows EnumWindows, macOS AppleScript, and Linux MPRIS2.
    • Song transitions are detected instantly without becoming stuck in browser window title caches.

🎵 Massive Player Expansion

  • New Built-in Players
    • Added plug-and-play support for TIDAL, Deezer, Cider, Plexamp, foobar2000, MusicBee, AIMP, Winamp, MediaMonkey, VLC, Strawberry, and Rhythmbox.
  • Custom Process Monitoring
    • Easily track any unlisted media player by adding its process name directly to the ExtraPlayers setting in your config.json.

🗺️ Smart Map Hiding

  • HUD Auto-Hiding
    • The HUD now automatically hides itself whenever you open the world map (M key) or any non-inventory menu.
    • Fully compatible with World Atlas and other UI-overlay mods.

✨ Advanced Album Art Engine

  • Jaccard Token Similarity
    • Browser playing states (like raw YouTube Music window titles) are parsed and queried against the iTunes API.
    • Results are scored using a smart Jaccard word-token matching algorithm to resolve exact artist names and download high-quality 600x600px cover art.
  • Smart Local Caching
    • Downloaded covers and resolved titles are cached inside the cache/ folder (as .png and .txt files) for instant loading during replay with zero network overhead.

🎨 Visual & Polish Upgrades

  • Transitions — Added a cozy, smooth fade-in animation for album art and text when a new track starts.
  • Drop-Shadows — Subtle drop shadows applied to text labels to guarantee readability on bright custom themes.
  • Button Hover Glow — Playback controls respond with an interactive, glowing visual feedback.

🔠 Unicode normalisation (Character Fixer)

  • Font Normalization
    • Converts special Turkish (ı, ş, ğ, ç, ö, ü), Cyrillic, and international characters.
    • Fixes empty square glyphs ("box character") by mapping them to legible font counterparts.

🐛 Bug Fixes & Under-the-Hood Improvements

  • Performance: Prevented duplicate playback status queries to reduce resource usage and optimize performance.
  • Stability: Resolved feature disparities across platforms (Windows, macOS, Linux).

This mod has no additional files