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()}