MA 2.10 — Synthesized from Marvin/Carl meeting notes, June 5 2026
Problem statement
Smart Fades is one of MA's most distinctive features, and with 2.9's beat-aware algorithm it's now genuinely impressive. But it's buried: to enable it, users must navigate into player settings and scroll to the queue playback section. There's no visual feedback in the main UI that it's active, and users building a queue have no way to optimize track order for better fades. BPM and musical key data is being analyzed for every track but never surfaced, missing an opportunity to give users meaningful control over their listening experience.
Community signals
- Music Assistant 2.7 Blog Post — Smart Fades — Confirms Smart Fades with BPM analysis shipped in 2.7. The feature is buried in individual player settings (Settings > Player > Audio > Enable Smart Fades), which is exactly the discoverability problem this opportunity addresses.
- Individual Player Settings documentation — Official docs confirm Smart Fades is a per-player setting buried in the Audio section. No queue-level toggle exists.
- Crossfade switch from HA? — User couldn't find crossfade controls and had to enable it manually from within the MA interface each time. "If I start the track from the MA interface and enable crossfade there it works fine" — clear discoverability failure.
- Marvin confirmed in the June 5 meeting that multiple Discord users have explicitly requested BPM-range playlist building for running playlists — search
#feature-requests in MA Discord for "BPM" or "running" to surface these threads before pitching.
Scope & Boundaries
In scope
- Move Smart Fades toggle to the queue panel — persistent, visible, no settings navigation required
- Display BPM and musical key in the track detail/overlay view
- "Optimize queue by mixability" action in the queue: reorders current queue so musically compatible tracks are adjacent, maximizing fade quality
- BPM range filter in dynamic playlists (slider with min/max: e.g. 90–130 BPM for a running playlist)
- Show current track's BPM/key in the player bar or full-screen view (alongside waveform progress bar)
Not in scope
- Global analysis cache (longer-term infrastructure — enables these features on low-power hardware but is a separate, larger project)
- DJ-style long-form transitions / mashups (exciting, but a separate opportunity once the cache exists)
- Automatic queue reordering without user action (opt-in only for now)
Foreseen solution
- Relocate Smart Fades and Don't Stop the Music toggles to the queue header area (above the track list), mirroring Apple Music's queue UI pattern
- Add BPM + musical key as visible metadata on the track detail view; optionally surface key info in the main track list row
- Add a "Mixability sort" button to the queue actions menu — when tapped, reorders the queue by musical compatibility (same key → compatible key → incompatible)
- Extend dynamic playlist filters with a BPM range slider
- Show BPM on the currently-playing track in the expanded player view
Risks & open questions
- Is the musical key analysis reliable enough to expose publicly? What's the error rate on the current algorithm?
- Queue reorder UX: should this be destructive (replaces queue order) or show a preview? What about user-added queue items?
- BPM range slider for dynamic playlists: does the current playlist engine support numeric range filters on analysis data?
- How does "mixability" interact with "Don't Stop the Music" — do they conflict?
Appetite
Small–Medium. Toggle relocation and BPM display are quick wins (Small). Mixability queue sort and BPM range filter are Medium. Can ship incrementally.
Execution issues
No response
Decision log
| Date |
Decision |
Outcome |
| 2026-06-05 |
Smart Fades toggle should be at queue level, not in player settings |
Agreed |
| 2026-06-05 |
Global cache and DJ transitions scoped out of initial opportunity |
Agreed — follow-on |
| 2026-06-23 |
Published to GitHub |
#208 |
MA 2.10 — Synthesized from Marvin/Carl meeting notes, June 5 2026
Problem statement
Smart Fades is one of MA's most distinctive features, and with 2.9's beat-aware algorithm it's now genuinely impressive. But it's buried: to enable it, users must navigate into player settings and scroll to the queue playback section. There's no visual feedback in the main UI that it's active, and users building a queue have no way to optimize track order for better fades. BPM and musical key data is being analyzed for every track but never surfaced, missing an opportunity to give users meaningful control over their listening experience.
Community signals
#feature-requestsin MA Discord for "BPM" or "running" to surface these threads before pitching.Scope & Boundaries
In scope
Not in scope
Foreseen solution
Risks & open questions
Appetite
Small–Medium. Toggle relocation and BPM display are quick wins (Small). Mixability queue sort and BPM range filter are Medium. Can ship incrementally.
Execution issues
No response
Decision log