edde746
a56b9a3dfb
Merge the deduplication and dead-code removal pass
...
Consolidates duplicated logic behind shared implementations — paginated
grid tabs, focus chrome, cached remote stores, sheet selection columns,
the server artifact store and a test fixture layer — and removes code
that had become unreachable. Net reduction of about 5,500 lines with no
behaviour change.
Where a fix had landed separately in code that moved into a shared
helper, the fix was re-applied inside the helper rather than left behind
in the copy that went away.
2026-07-26 19:41:23 +02:00
edde746
352b88109b
refactor: extract shared mixins and helpers, drop dead abstractions
...
Introduces shared seams for paginated views, D-pad reorder, media control
routing, async singletons and the device method channel, then points the
open-coded copies at them.
Also removes unused models and duplicated provider/server plumbing, folds
the twice-implemented artifact store in the server, and factors the
repeated Flutter toolchain prologue in CI into a composite action.
2026-07-26 06:09:48 +02:00
edde746
3b1e71b3fa
feat(player): support playback speeds up to 8x
...
close #1545
2026-07-26 04:24:55 +02:00
edde746
e0bf66eea8
fix(runtime): harden application service boundaries
2026-07-24 03:46:46 +02:00
edde746
d5f3e581df
fix: eliminate cross-app consistency drift
2026-07-13 23:13:53 +02:00
edde746
e4db04fa62
fix: align UI focus and sheet behavior
2026-07-13 11:28:32 +02:00
edde746
90c4fe5458
feat(audio): add Kodi-style stereo downmix with center channel boost
2026-07-05 14:29:57 +02:00
edde746
6d95e35448
feat(tvos): AVPlayer Atmos sink wiring + Atmos output diagnostics
...
Re-enables Audio Passthrough on Apple TV against the MPVKit EAC3-JOC
AVPlayer sink (pin bump to v1.0.8 follows), adds an AVPlayer test
harness + diagnostics screen for #1300 , and makes loudnorm yield while
passthrough is active (fixes a latent spdif conflict on desktop too).
2026-07-02 15:52:10 +02:00
edde746
1aa06ffe90
fix(tv): restore passthrough setting visibility
2026-06-15 13:28:38 +02:00
edde746
3c43874342
fix(tvos): update mpvkit audio passthrough
2026-06-13 10:24:15 +02:00
edde746
bd0a0c5d6b
feat(android): loudness normalization for exoplayer via audiofx
...
close #1289
2026-06-12 12:38:57 +02:00
edde746
4c4b18e2cd
fix(i18n): localize hardcoded UI strings
...
close #1257
2026-06-06 11:45:34 +02:00
edde746
145881318e
fix: harden server-scoped state
2026-06-04 13:47:06 +02:00
edde746
a425798bae
fix(video): iOS video zoom
2026-06-01 15:21:41 +02:00
edde746
74b8dc4561
refactor: type server identifiers
2026-06-01 11:06:03 +02:00
edde746
2b7ea5fe02
feat(video): add custom zoom controls
...
close #1159
2026-05-29 00:06:47 +02:00
edde746
ba62129414
fix(playback): support Apple DV conversion
2026-05-28 00:33:20 +02:00
edde746
d980540c09
Merge pull request #1024 from Mofeywalker/feat/harmonize-playback-speeds
...
fix: add missing 0.25 speed steps
2026-05-23 21:49:33 +02:00
edde746
1a73fc585b
fix(player): align playback settings label
...
close #1106
2026-05-23 00:34:16 +02:00
Moritz Fey
fd26f470a5
fix: add missing 0.25 speed steps
2026-05-12 11:46:31 +02:00
edde746
3a6012cc21
fix(lifecycle): guard async state updates
2026-05-12 06:11:14 +02:00
edde746
653fada5dc
refactor(player): move quality picker into playback settings
2026-05-08 06:24:59 +02:00
edde746
ed4be7b96d
refactor: strip obvious comments
2026-05-04 22:40:18 +02:00
edde746
130e0d6f40
refactor: streamline settings bindings
2026-05-02 08:44:27 +02:00
edde746
036d99f11f
perf(android): optimize DV conversion hot path
...
Remove avoidable per-RPU allocations and copies during DV fallback conversion, and add debug controls to force conversion modes while profiling playback.
2026-05-01 17:50:59 +02:00
edde746
19a0128363
feat(playback): add ArtCNN shader presets
...
close #924
2026-04-26 20:29:38 +02:00
edde746
feba5b6f74
lint: enforce unawaited_futures, prefer_final_locals, etc.
2026-04-25 12:27:28 +02:00
edde746
0531c33b0c
refactor(settings): typed Pref<T> declarations
2026-04-25 10:52:34 +02:00
edde746
2bd9e6655f
feat: rate pill, fix snackbar placement
...
close #886
2026-04-18 08:37:43 +02:00
edde746
66b32468eb
fix: serialize file picker calls
2026-04-17 14:13:20 +02:00
edde746
1e62c6c756
feat: bandwidth limit modal on stream 500
2026-04-17 13:12:07 +02:00
edde746
9bd2774820
fix: race conditions in mpv dispose and track manager, add debug fallback trigger
2026-03-23 03:48:48 +01:00
edde746
8bdf2b53d3
fix: reduce bottom sheet spacing
2026-03-18 09:46:48 +01:00
edde746
3a76754af9
feat: custom GLSL shader import
...
close #624
2026-03-04 08:47:40 +01:00
edde746
cd2ab9d9cd
refactor: deduplicate shared patterns, replace hardcoded colors
2026-03-03 22:43:00 +01:00
edde746
8a5f1ddea9
feat: add audio normalization toggle (MPV loudnorm filter)
2026-03-01 02:49:48 +01:00
edde746
98776b40f5
fix: show sync controls as compact top bar
...
close #548
2026-02-26 03:41:19 +01:00
edde746
88d7e2d319
feat: add audio passthrough toggle for desktop
2026-02-25 16:38:58 +01:00
edde746
e0489b68d5
fix: use theme colors in video control sheets for light mode support
2026-02-24 23:40:08 +01:00
edde746
3bfc24bf9b
feat: persist ambient lighting and make it mutually exclusive with shaders
...
close #499
2026-02-20 22:33:00 +01:00
edde746
63d711ae43
refactor: overlay-based bottom sheets for video player
2026-02-18 23:06:44 +01:00
edde746
756eb8d6f0
feat: add ambient lighting effect
...
close #477
2026-02-18 06:51:20 +01:00
edde746
29f5dc00c4
feat: populate audio output device menu and group by backend
2026-02-16 21:56:22 +01:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
a1d78562d6
fix(tv): playback
2026-02-12 03:52:51 +01:00
edde746
6e9b78e5b5
fix: missing translations, simplify translations
2026-02-10 21:37:27 +01:00
edde746
cf3d81ebf5
chore: format
2026-02-04 07:50:38 +01:00
edde746
77eef1ada7
feat: built-in shaders
...
close #341
2026-01-29 07:22:21 +01:00
edde746
0290adcb6d
feat: add auto-play toggle
...
close #262
2026-01-15 20:12:43 +01:00
edde746
045502405d
feat: persist playback speed
...
close #237
2026-01-15 00:16:17 +01:00