diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-06 17:48:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-06 17:48:34 -0500 |
| commit | 50a915c57b3511f0158772805e9d36535505235c (patch) | |
| tree | 5fdf42be89b352a6b4d86be95979da455fb98f74 /tests/test-eat-config--charset-never-nil.el | |
| parent | e74bb871ac0aa7ab6e63cd39759b8850f1181ffe (diff) | |
| download | dotemacs-main.tar.gz dotemacs-main.zip | |
Phase 3 is the fancy visual layer from the prototype. In a graphical frame with cj/music-fancy-ui on, the player draws a now-playing hero (cover image, a serif amber title, a subtitle, and a progress bar) with thumbnailed serif rows below it. A TTY frame, or the toggle off, falls back to phase 1's plain text.
The progress bar had a rendering but no data source. I added cj/music--mpv-get-property, which does an IPC round-trip that reads mpv's reply, so a file's bar fills from percent-pos. The old cj/music--mpv-command only sent commands and threw the reply away. A stream has no duration, so it shows "on air". The bar redraws on a ~1s timer that runs only across a playing span and skips when the buffer isn't visible.
I split cj/music--header-text into shared playlist and controls pieces with a text-versus-fancy dispatcher, so the two render paths build from one place and can't drift. The hero replaces the Current line when a track plays. Rows gain a cover thumbnail and a serif name. Cover art comes from phase 2's non-blocking cj/music-art--for-track. A separate idle-timer pre-warm fetches the real art off the render path, so a slow favicon host never freezes playback start.
The serif family defaults to the nov reading view's, and the amber comes from the themed warning face so the dupre theme owns it. The block-bar renderer has Normal, Boundary, and Error tests. The images, faces, and the bar advancing are a live check. The full suite is green.
Diffstat (limited to 'tests/test-eat-config--charset-never-nil.el')
0 files changed, 0 insertions, 0 deletions
