Skip to content

Siku Music 1.5.0

Latest

Choose a tag to compare

@KevinBorjaDev KevinBorjaDev released this 18 Sep 01:42
· 12 commits to main since this release

Listening statistics

A whole new screen that tells you what you actually listen to, built on a real play log — not just a
play counter.

  • Stats screen with day / week / month / year / all-time periods, reachable from the home card
    or the library header menu.
  • Summary: plays, listening time and how the period compares with the previous one.
  • Streaks, with milestones at a week, a month, 100 days and a year.
  • Activity chart so you can see when you listen.
  • Rankings of your top songs, artists, albums and genres.
  • Per-entity stats: tap any artist, album or genre in a ranking to see stats for just that one —
    its top songs, and the artists or albums below it. The period follows you in.
  • Listening time is measured by a real playback clock, so pausing, seeking and skipping no longer
    inflate it. All-time totals fall back to song durations for history recorded before this release.

Home & navigation

  • New "Modern" navigation style (Settings → Navigation): three destinations — Home, Library and
    Playlists — with the categories (songs, artists, albums, genres) opening from Library. The classic
    tabs, the bottom toolbar and the landscape rail are all still there.
  • "Never played" section on Home, for the music you have and never got to.
  • "See all" on Recently added, which now opens its own screen with everything from the last 30
    days.
  • Home carousels were rebuilt so the album art actually travels into the player when you tap a card,
    instead of jumping.

Sorting & browsing

  • Sort chips are now two axes: criterion and direction. Tapping the active criterion flips the
    order, and the arrow on the chip tells you which way it goes. New criteria: year, number of songs,
    date added, play count and last played.
  • Albums can be grouped by year, with the year pinned at the top of the screen as you scroll.
  • Sort chip in artist, album and genre detail screens, so the list you see follows the order you
    picked.
  • Songs with no data for the active criterion (never played, no date) now always sort last, in both
    directions, instead of scattering.
  • Album and genre grids no longer collapse into a single column on some screen widths.

Artists & albums

  • New Settings → Artists section.
    • Group by track artist or by album artist (ALBUMARTIST). A compilation or an album with
      guests no longer scatters across a dozen artists if you don't want it to.
    • Split collaborations: "A feat. B" can count for both A and B. &, ,, / and x are off
      by default, because they are part of real names (Simon & Garfunkel, AC/DC).
    • Never-split list for the names you want respected no matter what.
  • Albums are now identified by name and album artist, so two different albums with the same title
    stop sharing artwork and stop being merged in stats.
  • Artist photos fall back to one of their album covers when no photo is available.

Lyrics

  • Word-by-word karaoke for enhanced .lrc files and tags that carry word timings — read from
    your own files, never from the network.
  • Manual sync adjustment: nudge the lyrics forward or backward when the file was made from a
    different master. The offset is saved with the song and can be cleared.
  • Timestamp parsing was unified, fixing lines that showed metadata ([ar:], [offset:]) as if they
    were the first verse.

Playlists in M3U files

  • Import and export playlists as .m3u8 from Settings → Backup.
  • Import always creates a new playlist (it never silently merges), reports how many songs matched,
    and tells you how many entries are not in your library.
  • Export reports how many entries had to be written as relative paths.
  • Everything goes through the system file picker — the app never browses your storage on its own,
    and .m3u files sitting in your music folders are not auto-imported.

Look & feel

  • The color system was rebuilt around Material 3's 2021 color spec. Roles now have known,
    guaranteed contrast with each other, which means text, icons and controls stop drifting toward
    washed-out or hard-to-read combinations depending on the album cover.
  • Album seeds are picked by contrast, one per theme: a cover that is too light for the light
    theme (or too dark for the dark one) no longer produces a low-contrast scheme.
  • The manual color picker warns when the color you chose barely contrasts with the background —
    and still lets you pick it.
  • Player background is now a choice of two modes in Settings: album gradient (redone in HCT, so
    it fades smoothly instead of banding) or a solid tinted color.
  • Status banners (scanning, errors, paused) use one palette per state, identical in light and
    dark, so a red banner is red everywhere.
  • Mini player, home stats card and the bottom toolbar had their colors chosen per palette and per
    theme, which fixes the white/grey glyphs some palettes produced.
  • Surface levels were rebalanced in dark theme, where the bracket between content and chrome was
    inverted.

Player

  • Sleep timer takes a custom duration, with minute-by-minute nudges, next to the presets, and
    shows a live countdown while the sheet is open.
  • Swipe the mini player down to stop playback; swipe up to open the player.
  • Progress bars and the mini player ring had their gaps and wave measured against the M3 spec — the
    ring had zero clearance and the dot vanished at 0:00.
  • The queue sheet opens on the song that is playing instead of on the first one.

Performance & battery

  • The album-color crossfade no longer runs inside composition. This was the cause of most of the
    stutter when opening the player: every frame of the fade was recomposing the root of the app.
  • Continuous frame producers were removed from anything that stays on screen for hours; the
    remaining clocks only publish when something moved by at least a pixel.
  • Preference writes were batched: the playback queue and the settings live in the same store, and
    every song change was rewriting the whole file.
  • Library queries are sampled instead of continuously observed while a sync is running.
  • Fonts and icon variants are pre-warmed at startup, removing a ~170 ms hitch on the first song.
  • Per-screen view models are no longer duplicated across Settings screens, cutting three redundant
    subscriptions to the song table.

Fixes

  • Signing in again after changing your Microsoft password no longer loops between "error" and
    "retry": the banner now offers to sign in again, and does it without signing you out (which would
    have wiped the cloud library).
  • A folder-missing sync error showed half-translated text in English. The message now comes from
    a translated string, and the same warning is no longer shown twice.
  • Album art no longer draws over the search bar or the pinned year header while a transition runs.
  • The time label on the progress bar no longer stays stuck after a drag when the song changes.
  • Stats stayed unreachable when the Home tab was hidden; it now has a second entry point in the
    library header menu.
  • The ranking number in stats is aligned with the rest of the row.
  • Fixed the player layer occasionally getting stranded — the app looked frozen while responding to
    invisible taps.
  • Fixed the wave on the player progress bar drawing nothing at 0:00.
  • Landscape: the rail no longer clips the sixth destination, and side insets are respected across
    the app.
  • Logging is no longer stripped from release builds, which previously left the distributed app with
    no diagnostics at all.
  • An API-level audit caught calls above the minimum supported Android version that had slipped in;
    the build now fails on them instead of crashing on older phones.

Crash reports

If the app closes unexpectedly, it now saves a report and shows a screen offering to share it.
Nothing is ever sent automatically — the report only leaves your phone if you choose to share it.
The report carries the device model, the Android version and the stack trace; nothing that
identifies you.

If you closed that screen, the saved report is still reachable: a Crash report entry appears at
the bottom of Settings whenever there is one waiting. It is not there the rest of the time, because
most of the time there is nothing to report.