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
a549671c4e
feat(metadata): add a primary artist tag mode
...
Artist Tag Mode gains "Primary artist only": downloads and re-enrichment write only the first credited artist to Artist and Album Artist, so players list one artist. The FFmpeg MP3, M4A and Vorbis embeds and the AC-4 path now honor the mode; MP3 and M4A previously ignored it.
Manual metadata edits, lyrics embedding and format conversion keep existing or typed credits joined instead of dropping names. The picker scrolls so three options fit on small and landscape screens. Closes #618 .
2026-10-01 16:12:58 +07:00
zarzet
41340a4a21
feat(metadata): write primary-artist tags in native writers
...
Native tag writers accept artist_tag_mode=primary and keep only the first credited artist in ARTIST and ALBUMARTIST for every format: FLAC download embedding, FLAC/Opus edits, and the ID3, MP4, APE and RIFF writers. The Android finalizer's FFmpeg fallback applies the same rule.
Rust and Kotlin share one separator set (comma, semicolon, ampersand, a spaced x, feat/ft/featuring/with) and test the same fixtures. The Go-parity split_vorbis pattern is unchanged. Refs #618 .
2026-10-01 16:12:44 +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
788c76c22d
chore(release): bump app version to 5.0.7
2026-10-01 01:28:12 +07:00
zarzet
a2974acee0
fix(mornye): respect glass clarity and accessibility limits
2026-10-01 00:42:15 +07:00
zarzet
7a7dd99eab
test(library): keep notifier test counters private
2026-10-01 00:42:15 +07:00
zarzet
fa491356d8
fix(library): spread filters across the search field width
2026-10-01 00:16:38 +07:00
zarzet
cef57af562
fix(library): offer re-enrichment for downloaded selections
2026-10-01 00:16:25 +07:00
zarzet
eed56d4cbb
feat(album): replace selection sharing with metadata re-enrichment
2026-09-30 23:51:54 +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
1e246138c8
perf(download): avoid repeated progress decoding and queue regrouping
2026-09-30 23:39:22 +07:00
zarzet
44b7ceb8e8
perf(download): reuse connections across probes and retries
2026-09-30 23:39:22 +07:00
zarzet
9051f37cf5
perf(library): reduce scan allocations and keep SAF workers busy
2026-09-30 23:39:22 +07:00
zarzet
1d3f7a0d44
fix(lyrics): lift timed words together
2026-09-30 22:09:41 +07:00
zarzet
fe88048db2
refactor(backend): retire unused native bridge entry points
2026-09-30 21:47:15 +07:00
zarzet
b8e3a4c166
refactor(download): simplify finalization and remove the retired worker
2026-09-30 21:44:31 +07:00
zarzet
3a63918e1f
refactor(flutter): remove unreachable state and widget APIs
2026-09-30 21:44:16 +07:00
zarzet
b3f7f59e2e
refactor(library): remove unused history lookups and replacement paths
2026-09-30 21:43:54 +07:00
zarzet
377710ec22
refactor(ui): consolidate file feedback and shared display helpers
2026-09-30 21:43:39 +07:00
zarzet
c5789df87d
fix(storage): retain document access for library metadata and covers
2026-09-30 21:42:53 +07:00
zarzet
cda9868a1f
fix(startup): keep shared backend alive across activity recreation
2026-09-30 20:58:36 +07:00
zarzet
fb08110797
fix(download): verify ReplayGain tags independently of metadata embedding
2026-09-30 20:58:18 +07:00
zarzet
2538cdffe1
fix(metadata): preserve the selected recording during download enrichment
2026-09-30 20:58:18 +07:00
zarzet
88508c806a
perf(library): reuse bounded artwork thumbnails during scans
2026-09-30 20:57:59 +07:00
zarzet
6c22a91498
fix(library): preserve partial scans and ignore stale completion events
2026-09-30 20:57:48 +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
e025abeec8
chore(release): sync remote AltStore metadata
v5.0.6
2026-09-28 17:35:57 +07:00
zarzet
e61e54f93f
fix(download): align native metadata preparation and ReplayGain support
2026-09-28 12:21:15 +07:00
zarzet
c0997de19c
style(playback): mark bit-perfect and DAP hi-res output as beta
2026-09-28 12:13:17 +07:00
zarzet
b15bb2673c
fix(library): index native completions and refresh background downloads
2026-09-28 12:13:17 +07:00
zarzet
e3bec31b36
fix(library): preserve indexed tracks when a full scan is incomplete
2026-09-28 12:13:17 +07:00
zarzet
4c2c356763
fix(download): detect mislabeled MP4 before native metadata writes
2026-09-28 12:13:17 +07:00
zarzet
c5a262b865
fix(motion): pause loading effects when hidden or motion is reduced
2026-09-28 11:58:50 +07:00
zarzet
987245de71
style(library): use theme colors for Material collections
2026-09-28 11:58:50 +07:00
zarzet
aeba9b879e
feat(player): show covers and expressive controls in Material queue
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
fb13b87561
fix(metadata): resolve album artist consistently across separate downloads
2026-09-28 11:45:10 +07:00
zarzet
25c6292783
fix(settings): use neutral category icons in Material
2026-09-27 18:28:50 +07:00
zarzet
c2eab0da51
fix(material): keep navigation tint continuous through system inset
2026-09-27 18:18:19 +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