From 52487bead42bc5754248cee2d0b2d2e6996afc2d Mon Sep 17 00:00:00 2001 From: WardPearce Date: Mon, 16 Feb 2026 08:55:14 +1300 Subject: [PATCH] Fixed volume slider --- materialious/electron/package-lock.json | 4 +-- materialious/src/lib/components/Player.svelte | 28 +++++-------------- .../src/lib/externalSettings/settings.ts | 4 +-- materialious/src/lib/store.ts | 2 +- 4 files changed, 12 insertions(+), 26 deletions(-) diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index de36c361..d2992900 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "Materialious", - "version": "1.15.4", + "version": "1.15.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.15.4", + "version": "1.15.5", "license": "MIT", "dependencies": { "@capacitor-community/electron": "^5.0.0", diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index d730a842..75242ade 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -30,7 +30,7 @@ playerDefaultLanguage, playerDefaultPlaybackSpeed, playerDefaultQualityStore, - playerPreferredVolume, + playerPreferredVolumeStore, playerProxyVideosStore, playerSavePlaybackPositionStore, playerState, @@ -113,7 +113,7 @@ let playerCurrentPlaybackState = $state(false); let playerMaxKnownTime = $state(data.video.lengthSeconds); let playerIsBuffering = $state(true); - let playerVolume = $state(0); + let playerVolume = $state($playerPreferredVolumeStore); let playerSettings: 'quality' | 'speed' | 'language' | 'root' = $state('root'); let playerTextTracks: shaka.extern.TextTrack[] | undefined = $state(undefined); let playerCurrentVideoTrack: shaka.extern.VideoTrack | undefined = $state(undefined); @@ -126,7 +126,6 @@ let playerCloestSponsor: Segment | undefined = $state(); let playerSliderElement: HTMLElement | undefined = $state(); let playerSliderDebounce: ReturnType; - let playerVolumeElement: HTMLElement | undefined = $state(); let playerIsFullscreen: boolean = $state(false); let playerTimelineTooltip: HTMLDivElement | undefined = $state(); let playerTimelineThumbnails: TimelineThumbnail[] = $state([]); @@ -246,12 +245,14 @@ function saveVolumePreference() { if (!playerElement) return; - playerPreferredVolume.set(playerElement.volume); + playerVolume = playerElement.volume; + playerPreferredVolumeStore.set(playerElement.volume); } function restoreVolumePreference() { if (!playerElement) return; - playerElement.volume = $playerPreferredVolume; + playerElement.volume = $playerPreferredVolumeStore; + playerVolume = playerElement.volume; } function restoreQualityPreference() { @@ -964,17 +965,6 @@ showPlayerUI(); }); - playerVolumeElement?.addEventListener('mousewheel', (event) => { - event.preventDefault(); - const delta = Math.sign((event as any).deltaY); - const newVolume = Math.max( - 0, - Math.min(1, (playerElement as HTMLMediaElement).volume - delta * 0.05) - ); - (playerElement as HTMLMediaElement).volume = newVolume; - playerVolume = newVolume; - }); - playerElement?.addEventListener('pause', async () => { playerCurrentPlaybackState = false; playerIsBuffering = false; @@ -1462,11 +1452,7 @@ {#if !isMobile()} -
+
diff --git a/materialious/src/lib/externalSettings/settings.ts b/materialious/src/lib/externalSettings/settings.ts index f96b9a7f..606b9b7d 100644 --- a/materialious/src/lib/externalSettings/settings.ts +++ b/materialious/src/lib/externalSettings/settings.ts @@ -53,7 +53,7 @@ import { playerYouTubeJsFallback, playerYouTubeJsAlways, interfaceSearchHistoryEnabled, - playerPreferredVolume + playerPreferredVolumeStore } from '$lib/store'; import { isOwnBackend } from '$lib/shared'; @@ -260,7 +260,7 @@ export const persistedStores: PersistedStore[] = [ }, { name: 'preferredVolume', - store: playerPreferredVolume, + store: playerPreferredVolumeStore, schema: zFloat }, { diff --git a/materialious/src/lib/store.ts b/materialious/src/lib/store.ts index ea48435d..f387a2df 100644 --- a/materialious/src/lib/store.ts +++ b/materialious/src/lib/store.ts @@ -179,7 +179,7 @@ export const playerAndroidPauseOnNetworkChange = persist( createStorage(), 'pauseOnNetworkChange' ); -export const playerPreferredVolume: Writable = persist( +export const playerPreferredVolumeStore: Writable = persist( writable(0.5), createStorage(), 'preferredVolume'