feat(app,player): tile context menu, buffered range on the seek bar, stall spinner

- right-click a library tile to play or resume it, mark it watched or
  unwatched, download it, change its match, or take it off Continue
  watching
- mpv's demuxer-cache-time is shaded on the seek bar, so it shows
  whether a jump lands in what is already read ahead
- paused-for-cache shows a spinner over the picture and in the controls
This commit is contained in:
nvrl committed 2026-10-02 20:16:27 +02:00
1 parent 41d1fbf073
commit c5808a5e50
6 files changed
+144 -12

No files matched your search

+3 -1
View File
@@ -478,10 +478,12 @@ impl Engine {
/// Send an event and wake the UI. A closed channel means the window is
/// gone, which is not an error worth propagating anywhere.
pub(crate) fn emit(&self, event: Event) {
// The two that arrive on mpv's clock rather than on anything happening.
let ticking = matches!(
event,
Event::Player {
event: pstr_player::PlayerEvent::Position(_),
event: pstr_player::PlayerEvent::Position(_)
| pstr_player::PlayerEvent::Buffered(_),
..
}
);