Add Vinyl panel to Focus mode and fix MPRIS volume feedback loop

- Add VinylPanel.svelte with spinning vinyl disc animation
- Album cover slides left when playing to reveal disc
- CSS-based grooves (40 rings) and amber center label
- Vintage typography with "33 1/3 RPM" badge
- Add 'vinyl' as new Focus tab option in ImmersiveHeader
- Fix MPRIS/PipeWire volume feedback loop by checking if volume
  actually changed before calling setVolume
This commit is contained in:
vicrodh committed 2026-02-01 13:51:19 -06:00
1 parent 319150920b
commit d79fdf58b6
4 files changed
+396 -3

No files matched your search

+5 -1
View File
@@ -2528,7 +2528,11 @@
case 'set_volume': {
if (typeof payload.volume === 'number') {
const normalized = Math.max(0, Math.min(1, payload.volume));
await playerSetVolume(Math.round(normalized * 100));
const newVolume = Math.round(normalized * 100);
// Only update if volume actually changed (prevents MPRIS feedback loop)
if (newVolume !== volume) {
await playerSetVolume(newVolume);
}
}
break;
}