diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index 77d7bcaf..57dc1239 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "Materialious", - "version": "1.9.4", + "version": "1.9.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.9.4", + "version": "1.9.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 0356526a..3724477d 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -27,6 +27,7 @@ playerAndroidLockOrientation, playerAutoPlayStore, playerDefaultLanguage, + playerDefaultPlaybackSpeed, playerDefaultQualityStore, playerProxyVideosStore, playerSavePlaybackPositionStore, @@ -41,6 +42,7 @@ import { getDynamicTheme, setStatusBarColor } from '../theme'; import { injectSABR } from '$lib/sabr'; import { patchYoutubeJs } from '$lib/patches/youtubejs'; + import { playbackRates } from '$lib/const'; interface Props { data: { video: VideoPlay; content: PhasedDescription; playlistId: string | null }; @@ -317,9 +319,13 @@ ui('#snackbar-alert'); } - restoreQualityPreference(); + restoreQualityPreference(); restoreDefaultLanguage(); + if ($playerDefaultPlaybackSpeed && playerElement) { + console.log('$playerDefaultPlaybackSpeed', $playerDefaultPlaybackSpeed); + playerElement.playbackRate = $playerDefaultPlaybackSpeed; + } } async function reloadVideo() { @@ -394,7 +400,7 @@ 'language', 'statistics' ], - playbackRates: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.25, 2.5, 2.75, 3], + playbackRates: playbackRates, enableTooltips: false, seekBarColors: { played: (await getDynamicTheme())['--primary'] diff --git a/materialious/src/lib/components/Settings/Player.svelte b/materialious/src/lib/components/Settings/Player.svelte index d8e381ce..38ecdd61 100644 --- a/materialious/src/lib/components/Settings/Player.svelte +++ b/materialious/src/lib/components/Settings/Player.svelte @@ -10,6 +10,7 @@ playerAutoPlayStore, playerAutoplayNextByDefaultStore, playerDefaultLanguage, + playerDefaultPlaybackSpeed, playerDefaultQualityStore, playerProxyVideosStore, playerSavePlaybackPositionStore, @@ -17,6 +18,7 @@ playerYouTubeJsAlways, playerYouTubeJsFallback } from '../../store'; + import { playbackRates } from '$lib/const'; let defaultLanguage = $state(get(playerDefaultLanguage)); @@ -36,6 +38,11 @@ playerDefaultQualityStore.set(value); } + function onSpeedChange(event: Event) { + const value = (event.target as HTMLSelectElement).value; + playerDefaultPlaybackSpeed.set(Number(value)); + } + function onLocalVideoFallbackChange() { switch (localVideoFallback) { case 'enabled': @@ -90,6 +97,21 @@ arrow_drop_down +
+ + + arrow_drop_down +
+ {#if Capacitor.isNativePlatform()}