Check out my personal blogsVisit maxrave.dev

New update: SimpMusic v1.7.0

updates

New major update of SimpMusic

N

Nguyen Duc Tuan Minh

SimpMusic Developer

🎉 New features

Playback & player

  • Last.fm scrobbling (Full build only) — lastfm / lastfm-empty module pair, a login screen, its own settings group, and scrobbling during playback

  • Reworked Now Playing: new backdrop and artist card; added an inline lyric line and removed the blurred backgrounds

  • Playlist import from a converted file, straight from Settings; writes to the database in batches

  • Charts: added seven new YouTube Music countries — Hong Kong, Malaysia, Philippines, Singapore, Taiwan, Thailand and Vietnam

Browsing & search

  • The empty search screen now shows browse categories

  • Play a song directly from a browse category's shelf

  • Home: long-press a quick pick to open the Now Playing sheet

  • Library: show item counts in dynamic playlist headers

Settings

  • Ask for confirmation before logging out of a linked account

Desktop

  • Replaced VLC with libmpv as the sole playback backend — including DJ crossfade filters and a switch to DASH streams

  • Linux: build libmpv from source in a container instead of extracting it from the AppImage

  • Tray menu and tooltip now show the current track

  • The volume slider expands only on hover

  • The player bar timeline is tinted while a crossfade is running

  • Video now renders through Compose framesSwingPanel removed

  • Windows: removed the debug terminal window

  • "Play next" now works on the desktop side

  • Added a Queue button to the mini player — PR #2275 by @laoluogun

Internal

  • Migrated every icon to generated Material Symbols ImageVectors, dropping material-icons-extended and the XML drawables


🐛 Fixes

Crossfade & player

  • Skip the crossfade when the next track plays as video, and when the current track plays as video

  • Keep the correct incoming track when a transport control is pressed mid-crossfade

  • Align the restored queue with the player, and guard against saves during a rebuild

  • Keep the progress slider within Material3's default range

  • Volume: apply it to the player before persisting it; unmute restores the original level — PR #2274

  • Desktop: release the crossfade handle when loading another track; route volume through ao-volume so it applies instantly

  • Normalise Tidal key names before Camelot matching — Tidal spells accidentals out ("FSharp""CSharp") rather than using symbols, so keyToSemitone failed to parse them and roughly 22% of tracks silently lost their key in DJ crossfade. Fixed by normalising the string before matching, and by changing the calculateKeyGapDurationFactor fallback from 1.0 to UNKNOWN_GAP_DEFAULT_FACTOR — an unparseable key was previously treated as a perfect match

Data & parsing

  • Lyrics: stop dropping the first character when no space follows the timestamp

  • Identify song columns by pageType instead of a fixed index

  • Keep only the first subtitle group as artists

  • The database now repairs artist names and album names stored by an older parse

  • Treat personalised mixes as radio playlists

  • Browse categories: key sections by title and cache them on disk, parse the songs shelf, and render every section the API returns

Downloads & cache

  • Stop re-resolving stream URLs for tracks that are already fully downloaded

  • Serve directly from cache only when the whole track is on disk

Desktop

  • macOS: switched audio output to avfoundation — avoids an ao_coreaudio use-after-free crash when headphones are plugged in or removed

  • macOS: register now-playing handlers on the main queue; stopped trimming native memory, which was causing a crash

  • Disabled skiko vsync (the cause of freezes when changing displays) and restore the window on Dock reopen

  • Backup: stopped double-wrapping the zip output stream

  • Registered URL schemes at the correct level in conveyor.conf, and restored external link opening on Linux

  • libmpv bundle: resolve by absolute path and drop POSIX open flags on Windows; strip AppleDouble sidecars that made macOS report "app is damaged"; treat an absent ytdl option as success

  • Raised the macOS floor to 15.0 for the bundled libmpv — a breaking change for users on older macOS

User interface

  • Force-dark screens now use a real dark colour scheme rather than just dark text

  • Bottom sheet: title, artist and the like label take their colours from the dark palette

  • Search: leave room for the floating search bar in every state; cap the browse grid width and use four columns on wide layouts

  • Quick picks: keep titles on one line with a marquee

  • Smoother artwork scrims via a smoothstep gradient

  • NormalAppBar uses the transparent colours the app uses elsewhere

  • Show a generic album label when the album name is unknown

  • Analytics: lengthened the header scrim so the top song title no longer overlaps the stats

  • Repaired the notification bell icon path

  • Library: the "create playlist" label uses the theme colour

  • Spotify: match the login status URL when it carries a query string


⚡ Performance (Desktop)

  • Tuned the allocator and GC to cut resident memory

  • Return freed native memory to the OS when playback idles

  • Capped mpv's demuxer cache


🔧 Infrastructure & dependencies

  • PipePipeExtractor to v6.2.0brave-newpipe bumped

  • Bumped a batch of dependencies

  • Refreshed the Gradle daemon JVM toolchain URLs

  • CI/CD: workflow updates; stage natives in the release workflow and verify the libmpv bundles

  • CLAUDE.md updated for Last.fm, the from-source Linux libmpv build, Compose video rendering, and the video crossfade rules


Download now: https://www.simpmusic.org/download

Community

Get involved in our community. Everyone is welcome!

SimpMusic is sponsored by:

Get free $200 credit over 60 days on DigitalOcean: GET NOW

Crowdin and Sentry both have a free enterprise plan for Open-source projects. Follow the URLs:

Check out the Vercel open-source program

Want to advertise on SimpMusic?

Buy Direct Ads

SimpMusic app is FOSS and under GPL-3.0 license.

© 2023-2026 SimpMusic - @maxrave-dev

We are not affiliated with or endorsed by Google, YouTube, Spotify, or any other third-party brands or applications.