Repository navigation
Releases: KevinBorjaDev/Siku
Release list
Siku Music 1.5.0
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.
&,,,/andxare 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.
- Group by track artist or by album artist (ALBUMARTIST). A compilation or an album with
- 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
.lrcfiles 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
.m3u8from 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.m3ufiles 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.
Siku Music 1.2.0
This release contains a lot of new stuff, hope you like it
Equalizer
- Per-output-device profiles. Your equalizer setup is remembered by output type and comes back on its own when you
reconnect: whatever you last left on your wired headphones is what returns with them, with nothing to assign by hand. - Custom profiles. Save the whole sound —curve, boosters, preamp, limiter and Clarity— under a name.
- Hide presets and profiles from Settings → Playback. Built-in ones can be hidden and restored; your own can also
be deleted. - Clarity, a treble enhancer with its own switch and amount (0–6 dB), which travels with the profile and with the
output route.
Library
- Excluded folders for the device scan (Settings → Music sources). The scan indexes every bit of music the system
sees, and that pulls in messaging audio, voice recordings and game sounds. Now you can turn them off folder by folder,
with each folder's song count in plain sight. - An unmounted SD card no longer wipes your library. Cleaning up songs that "no longer exist" is limited to the
storage volumes that could actually be read. - Tabs at the bottom, optional from Settings → Appearance: the tab selector moves to a floating bottom bar within
thumb's reach instead of sitting under the search field. In landscape the tabs always move to the side, whether the
setting is on or not. - Quick actions on Home: shuffle, play in order, favorites, and up to five genres that rotate on their own each
day. - Shuffle and play in order in the Songs tab too, if you hid the Home tab. They play exactly what you're looking
at, honoring the sort order and filters you have applied. - "Because you listened to X" now suggests other artists in your library that share a genre, instead of more songs
by the same artist. - Play by source: offline (local and downloaded) or not downloaded. It only shows up when you have both.
- The Favorites card in "Keep listening" is drawn with a collage of your favorite covers instead of an icon on
gray.
Player
- The cover art travels from the row you tap into the player, and back when you close it.
- Bigger cover art: it now measures against the full width of the screen, which is what kept it small no matter
how much space was trimmed around it. - Redesigned transport: previous and next move up to the play button's size, and play morphs its shape between
playing and paused. - Swipe the floating bar down to stop playback, with undo in case it was accidental; swiping up still opens the
player. - Configurable progress bar (Settings → Appearance): pill or wave, with selectable thickness and a live preview.
- Round play button on the floating bar, optional from Settings → Appearance.
- Play and shuffle unified in artist, album, genre and playlist details. In a playlist, the menu also offers
reverse order, A–Z and Z–A. - In a playlist's detail, each row's ⋮ menu now includes add to another playlist; in Favorites the heart moves out
of the menu and comes first, since it's that screen's action. - Clearer icons for re-download, sleep timer, add/remove favorite and add songs to an empty playlist.
Performance
- The app is 14 MB lighter. The icon font now ships subset to the icons the app actually draws: 0.24 MB instead of
14.9. - No stutter when opening a song. The album color no longer repaints the whole app on every track change, which
was the source of the hitch when opening the player. - Less battery at rest. Animations that don't move a single pixel no longer wake the screen: the player, open and
idle, went from about 120 wakeups per second to fewer than two. - Resumable, segmented downloads. A drop in the middle of a large file no longer throws away what was downloaded,
and at the end of a sync the idle connections are put to work inside the same file instead of sitting there. - Faster startup thanks to the baseline profile and font pre-warming.
Fixes
- The player no longer kept swallowing taps on a blank screen after being closed.
- The queue always opened at the first song instead of at the one that's playing.
- The wavy progress bar looked empty at 0:00, as if disabled.
- The progress bar's time label no longer stays floating when the song changes.
- The "Scanning library" banner no longer flashes on scans with nothing to do, nor stays on forever.
- Black text on a black background when customizing tabs and the toolbar.
- Settings switches, top app bars, the queue's shuffle toggle and the equalizer when clipping were drawn with the
wallpaper color instead of the album's. - Dropdown menus blended into what they covered on muted color themes.
- A single-row group —"Your playlists" with just one playlist— was drawn with middle-row corners, i.e. square.
- The currently playing song is highlighted by color and no longer outweighs the player bar; in Favorites its heart
was getting lost against that highlight. - Clearing the queue closes the player in the same gesture, with no fade to black.
- Album colors keep the real intensity of the cover art.
- Artist photos were being fetched over Wi-Fi for artists the catalog doesn't have.
Siku Music 1.1
New Features
- Genre tab
- Configurable tab list: Now you can hide tabs that you don't want to see, also you can rearrange them
- Detailed file chip: Now the chip can show detailed info about the file playing. Tap to change to the simpler version
- LRC lyrics support: Now the app will load a lrc file or embedded on the file itself. Also, you can now save the lyrics founded as lrc file or embedded to file too.
- Scan whole device: Now beside choosing folders to scan, you can choose to scan the whole device via MediaStore, but they exclude each other.
- Onboarding: New onboarding flow to match this local scan changes and to be clearer for local scan and cloud scan as well. Also added a new screen to ask for optional permissions
- Gestures for common actions. Also double tap album art on sides to fast forward 10 seconds or rewind 10 seconds
- A better equalizer, added a bass booster and treble booster
- Changed the tabs to more specs driven component
[IMPORTANT] If you're coming from version 1.0.1, your scanned folders are now read-only and you can't save lyrics to it; go to Settings → Sources and tap "Reauthorize" on the marked folder. This is an android limitation
Bug Fixes
- Fixed a bug that prevented the app from starting when an optional permission was requested
- Fixed a bug that prevented album arts from saving correctly when a local scan occurred
- Fixed a bug that make the last played song from a folder recently removed still be played
- Fixed a bug that make the miniplayer have a different state from the now playing screen
- Fixed a bug that make that some cases the album art collage doesn't work on the home tab
- Fixed a bug that make the snackbar position too high in some cases.
- Fixed a contrast bug with the status chip on now playing on gradient background
- Fixed a bug when the title on detailed screens and mini player animations collided
- More than I cannot remember.
Hotfix: Siku Music v1.0.1
- Removed destructive fallback when bumping database version
Siku Music 1.0
This is the first public release of Siku Music. If you encounter a bug, please open an issue.