Commit Graph
81 Commits
Author SHA1 Message Date
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 1d3f7a0d44 fix(lyrics): lift timed words together 2026-09-30 22:09:41 +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 aeba9b879e feat(player): show covers and expressive controls in Material queue 2026-09-28 11:58:50 +07:00
zarzet 3980f1f851 fix(player): move Material audio output to bottom right 2026-09-27 17:51:45 +07:00
zarzet fad7e64fd3 fix(player): align Material lyrics toggle to bottom left 2026-09-27 17:48:11 +07:00
zarzet cd7c60cca7 feat(player): show Material lyrics in the artwork area 2026-09-27 17:40:21 +07:00
zarzet 02a1c8504c fix(player): give Material quality badge and controls more space 2026-09-27 17:32:27 +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 63210c0277 fix(queue): style Mornye swipe removal and simplify queue heading 2026-09-27 16:06:23 +07:00
zarzet 6decce0f8b fix(lyrics): keep V3 collaborations on the primary side 2026-09-27 15:26:11 +07:00
zarzet 5f0463a7a4 feat(player): continue playback with Library autoplay 2026-09-27 11:53:40 +07:00
zarzet 9e4f24ba24 fix(lyrics): reveal backing vocals and gaps at their start 2026-09-27 11:39:33 +07:00
zarzet 48891a1bb3 fix(mornye): keep popover glass clear and correctly clipped 2026-09-27 05:00:06 +07:00
zarzet c89601b6dc feat(mornye): add persistent accent color choices 2026-09-27 04:32:02 +07:00
zarzet 0b35b134f0 fix(player): align lyrics and compact header with timeline 2026-09-27 04:18:10 +07:00
zarzet 34cda0a802 fix(lyrics): preserve Apple vocal sides for group parts 2026-09-27 04:06:15 +07:00
zarzet fedf5f137a feat(lyrics): group smaller backing vocals beneath their lead 2026-09-27 04:01:43 +07:00
zarzet 443a9a2bdf feat(player): expand artwork when tapping the compact cover 2026-09-27 03:53:41 +07:00
zarzet da5a0522ca fix(lyrics): stagger highlight lift across graphemes 2026-09-27 00:41:33 +07:00
zarzet bf7dd5b1c4 feat(player): swipe track headers and remove individual queue entries 2026-09-27 00:35:55 +07:00
zarzet 3e6bb3bba4 fix(lyrics): keep the active line anchored during language transitions 2026-09-27 00:20:02 +07:00
zarzet 95e0e3197d feat(lyrics): support multiple vocalists and aligned lyrics 2026-09-26 14:50:05 +07:00
zarzet 0aaef057cd fix(player): preserve lyrics state while switching to queue 2026-09-26 04:09:47 +07:00
zarzet 6d03a8797b fix(player): match paused cover size during panel transitions 2026-09-26 04:09:47 +07:00
zarzet 863d1536dd fix(lyrics): smooth highlight lift and keep romanization still
Ease the lift before each highlight and let it settle more gradually for held words. Keep timed pronunciation and translation lines stationary while preserving their color sweep.
2026-09-26 03:05:34 +07:00
zarzet 8e7e71827c feat(lyrics): animate live previews while scrubbing playback 2026-09-26 01:31:31 +07:00
zarzet b40ba27cd6 feat(lyrics): add countdown dots for instrumental breaks 2026-09-25 21:09:38 +07:00
zarzet 801ab13938 fix(lyrics): keep focus fixed when player controls hide 2026-09-25 21:09:38 +07:00
zarzet 4aad7f03c1 feat(lyrics): add subtle lift to sustained word highlights 2026-09-25 19:31:09 +07:00
zarzet 6598a360b5 fix(lyrics): align pronunciation phrases and improve readability 2026-09-25 18:34:35 +07:00
zarzet 2ab4aaa8dc fix(ui): allow landscape only in the full player
Keep application pages in portrait and let player sheets inherit rotation from the full player. Restore portrait on navigation, replacement, removal, and completed dismissal; discard stale minimization geometry when the screen rotates on close.

Validated with 12 Flutter tests and targeted analysis. iOS simulator build confirms portrait startup from a landscape device. Platform orientation restrictions still apply on large Android displays and multitasking iPads.
2026-09-25 18:05:40 +07:00
zarzet 71031fd5ed style(player): reduce paused play glyph without shifting controls 2026-09-25 16:33:06 +07:00
zarzet e09d0c1609 fix(lyrics): hide controls after five seconds only during playback 2026-09-25 16:26:25 +07:00
zarzet fc13a6c7c0 fix(player): move track header with the cover between panels 2026-09-25 16:05:37 +07:00
zarzet 8b85f65874 style(lyrics): use compact liquid glass language menu 2026-09-25 12:02:48 +07:00
zarzet 8103c313d7 feat(lyrics): show songwriter and provider credits after lyrics 2026-09-25 12:01:43 +07:00
zarzet 1d6ff18d06 feat(player): add native audio output controls 2026-09-25 11:27:49 +07:00
zarzet 3ca881b169 feat(lyrics): animate pronunciation and translation visibility
Add a contextual language menu for available lyric supplements in portrait and landscape. Remember independent visibility choices across tracks and player sessions without changing embedded lyrics or download options.

Fade and collapse supplements over 320 ms while interpolating lyric row heights and keeping the active line aligned. Honor reduced motion and control auto-hide; cover menu availability, persistence, animation, and word timing in widget tests.
2026-09-25 10:29:22 +07:00
zarzet 7a8dadf5f9 feat(player): animate artwork transitions and immersive lyrics
Enlarge player artwork and transport controls, morph the cover into the lyrics and queue header, and minimize the player back into the mini player. Keep the larger header actions in lyrics and queue only.

Use larger lyrics with upper focus and progressive blur. Hide idle lyric controls after three seconds, restore them on interaction, and keep the normal player as the landscape entry page.
2026-09-25 01:22:21 +07:00
zarzet 3d05383e00 feat(player): expand compact track action menus
Add favorite, playlist, sharing, and artist navigation actions. Use denser menu typography and prefer placement above the invoking control.
2026-09-25 01:22:03 +07:00
zarzet 146b2acd4d refactor(ui): unify theme styling and enlarge profile button
Centralize existing Material and Mornye layout metrics in AppTokens and share adaptive icon selection. Enlarge the Home profile avatar to 44 dp with a 56 dp touch target.
2026-09-23 21:53:15 +07:00
zarzet ba44bafa92 fix: sync lyric romanization and clear stale selection menus
Preserve romanization and translation metadata through Rust exports and cache, match rounded line times, and retain word endings. Highlight romanization with the main lyric clock in Material and Mornye.

Clear selection overlay ownership safely when collection screens are disposed. Add parser, rendering, cache and overlay lifecycle regression coverage.
2026-09-23 12:42:08 +07:00
zarzet d8d46108bc feat(profile): add local profiles with backup and restore
Move Mornye Settings to the Home avatar and keep search above the profile card. Center the metadata artwork and actions, and make artist names clickable in the Material player.
2026-09-21 17:28:18 +07:00
zarzet a7717ddfbf perf(player): scope position and contrast rebuilds to controls
Keep playback position updates inside the timeline subtree and notify only artwork foreground controls when contrast changes. Preserve layout and transport state; add regression coverage for stable artwork and transport widgets.
2026-09-20 17:20:52 +07:00
zarzet 0c930c691f fix(player): preserve offline motion artwork and smooth cover changes 2026-09-20 12:20:24 +07:00
zarzet e61ff64adc feat(mornye): cache motion covers and refine player and search
Save album motion videos in app storage during downloads and prefer offline playback with an aspect-aware layout. Add cache management for saved videos.

Center active lyrics on opening, expand lyrics during manual scrolling, and adjust landscape header spacing. Group search rows and skeletons with dividers and remove redundant result icons.

Validation: Flutter analysis clean; 723 tests passed, 4 skipped; iOS simulator build installed.
2026-09-19 17:26:26 +07:00