Skip to content

v3.0.37

Choose a tag to compare

@Raccoon-Trashpanda Raccoon-Trashpanda released this 24 Jul 22:06

Compilations were invisible to the radar

A various-artists compilation is credited to "Various Artists" or the label, so it is in no followed artist's discography -- every release scanner asks "which albums is this artist the artist of?", and that question can never return one. The individual tracks showed up, the compilation never did, and nothing errored: the scan reported success having never seen it.

  • Spotify: the radar now also reads each artist's "Appears On" shelf and resolves the metadata those entries omit, caching it by album id.
  • Apple (watchlist): looks releases up through the artist's tracks rather than only their albums -- a track always carries its parent collection, compilations included.
  • Compilations are filed under the existing "Compilations" filter, so they show without changing anything in the UI.
  • Live: the Hospital Records / Forza Horizon 6 compilation that prompted this now appears in the feed, along with dozens of label compilations that had never been visible.

Radar: BBC, SoundCloud and Apple as sources

The feed already merged several services and already grouped by day -- what was missing were the sources.

  • BBC -- new episodes of the known shows (Essential Mix, Pete Tong, ...).
  • SoundCloud -- recent uploads from the channels on your watchlist.
  • Apple -- new releases by the watchlist's artists, compilations included.

They share the shape of the existing feed, so search, type chips, seen/favourite state and day grouping all apply unchanged. Sources are independent: one failing service no longer empties the feed. New "Mix" release type for episodes and uploads.

Watchlist

  • It never actually worked. Every entry had an empty artist id, and the checker only looks at entries that have one -- so nothing had been checked since the feature was built. On top of that, the Apple feed it polled has been retired by Apple and answers 400 for every request. Both are fixed; adding an artist now resolves the id up front and refuses rather than creating an entry nothing will ever check. Existing entries can be repaired in place.
  • Follow in one click -- a star on the artist page and the SoundCloud channel bar, instead of retyping the name into a form.
  • Suggestions from your own library -- computed from your downloads and plays, never leaving the machine. Each card states a fact about your library: how often you grab an artist, who you have collaborations with, and -- the interesting one -- artists who appear all over your tracks as remixers or featured credits but whose own releases you have never downloaded.
  • Desktop notification when a followed artist releases something, so a release found at 4am is not discovered whenever you next open the page.
  • One check is aligned to the New Zealand Friday, the first place a Friday release exists.
  • First check of a newly added artist now records a baseline instead of "discovering" their entire back catalogue and queueing it.

Player

Track boundaries in streamed mixes had an audible hiccup. The next track was already decoded, so the delay was the transition itself: it started only after the current track had finished playing. The next source is now scheduled while the current one still plays, at the exact sample its buffer ends -- the audio clock performs the join. Correct across seek, playback speed and manual skips.

Where a compilation's own tracks were mastered with fades, that seam is in the material and no scheduling removes it.

Integrity checking

Every finished download is now decode-checked rather than trusted because the engine said "done". Malformed ALAC packets are repaired automatically; a file that cannot be repaired is reported honestly and does not block delivery.

Fixes

  • BBC cards in the radar offered ALAC/Atmos -- lossless options a radio stream cannot produce. The frontend was asking about the wrong service; any newly added source inherited Apple's quality ladder.
  • Unticking one radar source in Settings could silently drop the others.
  • Beatport reported a successful download when it had been denied the stream.
  • Spectrogram verdicts were hardcoded in one language, and ffmpeg stamped its own name into the image.
  • Download notifications were hardcoded in Russian regardless of the chosen language.