github Nikita-sud/latentjam v0.5.0
LatentJam v0.5.0

latest releases: v0.9.4, v0.9.3, v0.9.2...
one month ago

The app rebuilt around one shell — and the first release that will reach you through F-Droid as well. Still fully on-device: no account, no catalogue, no network — nothing about your listening leaves the phone.

New

  • 🧭 One shell instead of many screens. A single Settings entry, page titles that slide with the pager, and a search header that stays where you left it. Browsing, search, collections and settings share a background cloud drawn from the current artwork; accents, selected tracks, recommendations, statistics and the map follow the playing song — and the neutral and SMART colour preferences still work if you set them.
  • 🎚️ One sort control, one Shuffle all. Tracks, Albums, Artists, Genres and Folders share an outlined split sort control and a floating Shuffle all that stays put while pages swipe and steps aside for selection, overlays and alphabet scrubbing.
  • ▶️ A floating mini-player — 48dp artwork, compact metadata, transport and a progress line along the bottom, growing with larger text instead of clipping it.
  • 🖼️ Playlists can wear a cover you choose, on Android and iOS.
  • 🧩 Three home-screen widgets rebuilt. Portal, Pulse and Deck sit on plain rounded surfaces with a cached cloud of the song's colours and no animation ticker, so they cost nothing while they sit still. Each gives up the right things as width and text scale change, keeping 48dp play and next targets and readable metadata down to the resizing floor.
  • 🗺️ A map page that scrolls at any window size. One finger drags the page, two fingers claim pan and zoom, and the plot's height no longer depends on the lens or legend, so switching lenses stops moving the page under you. Wide landscape windows put a fixed plot beside scrolling controls. Lens, selected region and viewport survive tab changes and rotation, with selection anchored to a track.
  • 📋 A clearer queue — one menu per row, its own duration, clear artwork and a visible current song, with reordering still by long press, by menu and through accessibility.

Fixed

  • SMART no longer applies a recommendation the queue has already moved past: a play request or mode change during planning cancels the answer instead of being overtaken by it
  • On iOS a pause you asked for survives a track change, repeat-one keeps the lock-screen position honest, and the audio graph stops once its player goes idle
  • Cover art for the iOS lock screen is decoded off the main thread and cached, so a large cover no longer stalls a track change
  • Hidden and backgrounded players stop being observed and animated; queue metadata is reused between progress ticks
  • Playlists keep their disk and memory copies consistent when a write is cancelled, and every path retains a custom cover
  • Widget refreshes for the same widget are coalesced without dropping completions, and a cold queue restoration no longer races itself

Install (Android)

Download LatentJam-v0.5.0-arm64.apk (94 MB — right for virtually every phone from the last decade; if unsure, pick this one). LatentJam-v0.5.0-armv7.apk exists for old 32-bit devices. Open it on your phone — it upgrades any earlier release from here in place. You'll need to allow installing unknown apps, and tap through Play Protect's sideload warning. Requires Android 7.0+.

Install (iOS)

LatentJam-v0.5.0-unsigned.ipa is an unsigned build: sideload it with AltStore, Sideloadly or similar (they re-sign it with your Apple ID). Built for iOS 15+, arm64.

About the F-Droid build

LatentJam has been accepted into F-Droid, and the catalogue entry appears as soon as their index catches up. That build is signed with F-Droid's key rather than the one used here, so the two cannot upgrade each other: to switch, export your data first (Settings → Local backup), uninstall, then install from F-Droid and restore.

⚠️ Still an early experimental build for sideloading — not a store release. SMART becomes good once a chunk of your library has been analysed in the background.

Don't miss a new latentjam release

NewReleases is sending notifications on new releases.