Commit Graph
340 Commits
Author SHA1 Message Date
zarzet e77996ddbd refactor(metadata): separate editor state, autofill and artwork ownership 2026-10-05 03:28:14 +07:00
zarzet 3047d5974c refactor(player): isolate routes, layouts and reactive controls 2026-10-05 03:27:46 +07:00
zarzet c22577eb18 refactor(player): separate metadata state and lyrics rendering 2026-10-05 02:31:55 +07:00
zarzet 5194344268 refactor(downloads): separate persistence, progress and feedback 2026-10-05 02:31:01 +07:00
zarzet 1abc45e2bf feat(playback): automate mute and headphone playback controls 2026-10-05 01:55:08 +07:00
zarzet ad3c9c0279 fix(home): anchor track menus to their source cards 2026-10-05 01:55:07 +07:00
zarzet 4a6206c21c perf(search): reduce tab switching lag 2026-10-05 01:42:49 +07:00
zarzet ee8719cc5d fix(automix): use themed transition effect picker 2026-10-04 04:42:05 +07:00
zarzet e6c7213067 feat(player): show mixing status beside audio quality 2026-10-04 03:55:25 +07:00
zarzet 0ec8c96269 feat(automix): add configurable duration and transition effects 2026-10-04 03:55:24 +07:00
zarzet 60c3e4d857 feat(lyrics): add staggered spring motion to visible rows 2026-10-04 03:33:49 +07:00
zarzet fe306119fe perf(theme): resolve artwork cache identities asynchronously 2026-10-04 01:41:39 +07:00
zarzet 37a1db274a perf(analysis): bound disk cache and protect active bundles 2026-10-04 01:41:37 +07:00
zarzet 541bfc4002 perf(media): shrink FFmpeg while preserving HTTPS motion artwork 2026-10-04 01:35:48 +07:00
zarzet 82068263f2 fix(mornye): match tab highlights to the expanding glass outline 2026-10-03 16:59:29 +07:00
zarzet 983f1b26a5 feat(settings): default to built-in playback and word-synced lyrics 2026-10-03 13:40:39 +07:00
zarzet 0914e7d978 feat(mornye): restore liquid glass with continuous draggable navigation 2026-10-03 04:24:54 +07:00
zarzet 9247b99ab0 fix(mornye): use consistent animated oval switches across glass levels 2026-10-03 04:24:24 +07:00
zarzet 2e71e88a9a fix(selection): dismiss action panels with a downward swipe 2026-10-03 03:25:42 +07:00
zarzet 0b2cf0e4e5 feat(discord): add opt-in mobile rich presence with track artwork 2026-10-03 02:14:11 +07:00
zarzet 799bb0f7a1 fix(ui): make snackbars transient and replace stale messages
Limit transient messages to three seconds, keep action snackbars on a timer, and provide close controls. Apply one latest-message policy to the app and metadata sheet while preserving glass animations.
2026-10-02 18:34:36 +07:00
zarzet 575f3fc1bd fix(ios): preserve Now Playing ownership with motion artwork
Restore the non-mixing music audio session after decorative video initialization and before playback resumes. Add an artwork switch that releases or pauses video decoders and uses still covers when disabled.
2026-10-02 18:13:02 +07:00
zarzet a93e552b3e feat(library): add batch playlist and queue actions
Expose playlist, play-next and queue actions across Library search and album selections, including selected artist albums. Sort playlists, keep long selection toolbars scrollable, separate file operations in metadata menus, and show related local songs without online playback.
2026-10-02 18:11:37 +07:00
zarzet c91d12dbf0 fix(artwork): preserve thumbnail aspect ratio during decoding 2026-10-02 13:58:13 +07:00
zarzet 26d713915f fix(library): restore Material playlist drag and drop 2026-10-02 13:57:18 +07:00
zarzet 7a245ee620 fix(library): restore search selection actions after re-enrich 2026-10-02 11:44:57 +07:00
zarzet 3c62d38c34 fix(metadata): show re-enrich results above Library cards 2026-10-02 11:44:51 +07:00
zarzet e200879d14 perf(mornye): share chrome backdrops and scale blur to clarity 2026-10-02 01:24:26 +07:00
zarzet be9e9903d9 perf(store): skip invisible backdrop blur on repo cards
Repo cards, category chips and the Store search field scroll over the plain page background, where a backdrop blur changes nothing visible but re-filters each panel on every scroll frame. MornyeGlass.navigation gains samplesBackdrop; these panels keep the same tint, rim, shadow and glass clarity without the blur pass. Floating chrome keeps its blur.
2026-10-01 19:41:44 +07:00
zarzet 6e6d9dd00e fix(background): keep library scans and update downloads running with the screen off
Android froze the process once the activity stopped, because only track downloads held a foreground service. A dataSync BackgroundWorkService with a partial wake lock now covers library scans and in-app APK downloads, and stops when the last task ends or the system timeout fires. Its notification shows the existing localized progress, so no duplicate appears. If Android refuses the service, work continues as before.

On iOS a scan holds its own background task; on expiry it cancels the scan cleanly instead of being suspended.
2026-10-01 18:46:21 +07:00
zarzet ad9670eb46 feat(library): select search results with a long press
Long-pressing a song in Library search results enters multi-select with the Library track actions. Taps toggle songs, select all covers the visible songs, back leaves selection mode, and a new query clears it. Applies to the Mornye Library tab and the Material/Songs search.
2026-10-01 18:46:21 +07:00
zarzet 86cf860288 refactor(library): share the track selection bar and delete action
The Library list's multi-select toolbar (FLAC upgrade, re-enrich, convert, ReplayGain add/remove, delete) becomes LibraryTrackSelectionBar, and its delete flow becomes deleteLibraryTracks. The Library list renders and behaves as before; other screens can now offer the same actions.
2026-10-01 18:46:21 +07:00
zarzet fe30871e36 fix(mornye): preserve navbar blur during collapse animations 2026-10-01 01:29:00 +07:00
zarzet d1eba29a4a fix(mornye): soften glass rims and increase transparency 2026-10-01 01:29:00 +07:00
zarzet a2974acee0 fix(mornye): respect glass clarity and accessibility limits 2026-10-01 00:42:15 +07:00
zarzet ce13e29b71 feat(appearance): add glass clarity controls and directional highlights 2026-09-30 23:42:20 +07:00
zarzet 9ebf98ff6c perf(mornye): adapt glass and player effects to device capabilities 2026-09-30 23:42:00 +07:00
zarzet b11e925ee4 perf(player): suspend covered pages and streamline transitions 2026-09-30 23:40:04 +07:00
zarzet 3a63918e1f refactor(flutter): remove unreachable state and widget APIs 2026-09-30 21:44:16 +07:00
zarzet 377710ec22 refactor(ui): consolidate file feedback and shared display helpers 2026-09-30 21:43:39 +07:00
zarzet 8aa8d598d8 feat(lyrics): keep the screen awake while viewing lyrics 2026-09-30 20:21:21 +07:00
zarzet a1cec6de51 fix(library): open track metadata from search results 2026-09-30 20:16:08 +07:00
zarzet c5a262b865 fix(motion): pause loading effects when hidden or motion is reduced 2026-09-28 11:58:50 +07:00
zarzet 892911c825 feat(material): unify search filters and extension actions 2026-09-28 11:58:49 +07:00
zarzet c2eab0da51 fix(material): keep navigation tint continuous through system inset 2026-09-27 18:18:19 +07:00
zarzet 472e549f8f feat(player): animate Material seek bar with expressive waves 2026-09-27 17:18:51 +07:00
zarzet d390a214c3 feat(material): adopt expressive controls across the app 2026-09-27 17:01:11 +07:00
zarzet 579c6fe4d9 fix(ui): show Dolby Atmos as a compact logo 2026-09-27 16:11:00 +07:00
zarzet 63210c0277 fix(queue): style Mornye swipe removal and simplify queue heading 2026-09-27 16:06:23 +07:00
zarzet 7d43153b07 feat(album): zoom artwork when pulling down the Mornye header 2026-09-27 15:44:21 +07:00