From d2d811166889620aa26a71efd61b2cb33cdf5cb1 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Mon, 15 Dec 2025 12:18:01 +0100 Subject: [PATCH] lazy cache webapp --- .../src/components/AudioCacheManager.vue | 110 +++++++++++++++++- pmocache/src/pmoserver_ext.rs | 30 ++++- pmoqobuz/examples/lazy_loading.rs | 38 +++++- pmoqobuz/src/source.rs | 16 +++ pmosource/src/cache.rs | 75 +++++++++++- 5 files changed, 255 insertions(+), 14 deletions(-) diff --git a/pmoapp/webapp/src/components/AudioCacheManager.vue b/pmoapp/webapp/src/components/AudioCacheManager.vue index 91db4e24..cac19b94 100644 --- a/pmoapp/webapp/src/components/AudioCacheManager.vue +++ b/pmoapp/webapp/src/components/AudioCacheManager.vue @@ -4,6 +4,7 @@

🎵 Audio Cache Manager

{{ tracks.length }} tracks + {{ lazyTracksCount }} lazy pending {{ totalHits }} hits
@@ -85,7 +86,8 @@ />
🎵
- {{ track.hits }} plays + {{ track.hits }} plays + Lazy
@@ -98,7 +100,10 @@
{{ track.metadata.album }}
-
{{ track.pk }}
+
+ {{ track.pk }} + lazy +
{{ formatDuration(durationMs(track)!) }} @@ -119,12 +124,15 @@
Last used: {{ formatDate(track.last_used) }}
+
+ Audio not downloaded yet. First playback (or forcing download) will fetch it automatically. +
@@ -136,6 +144,30 @@ > {{ deletingTracks.has(track.pk) ? "..." : "🗑️" }} + +
@@ -175,6 +207,7 @@

Cache Info

PK: {{ selectedTrack.pk }}

+

Status: {{ trackStatusLabel(selectedTrack) }}

Source URL: {{ resolveTrackOrigin(selectedTrack) }} @@ -188,10 +221,18 @@ - -