From be45075752ab7953695cb758dc0990a174cb7f58 Mon Sep 17 00:00:00 2001 From: WardPearce Date: Wed, 25 Jun 2025 02:00:39 +1200 Subject: [PATCH] Added enable CC by default option --- materialious/electron/package-lock.json | 4 +- materialious/src/lib/components/Player.svelte | 38 +++++++++++-------- .../src/lib/components/Settings/Player.svelte | 17 +++++++++ materialious/src/lib/externalSettings.ts | 10 ++++- materialious/src/lib/i18n/locales/en.json | 1 + materialious/src/lib/patches/youtubejs.ts | 12 +----- materialious/src/lib/store.ts | 3 +- 7 files changed, 54 insertions(+), 31 deletions(-) diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index 979e0c78..fde74e4d 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,12 +1,12 @@ { "name": "Materialious", - "version": "1.9.17", + "version": "1.9.18", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.9.17", + "version": "1.9.18", "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 f3709b8e..28ee99e9 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -29,6 +29,7 @@ playerAndroidLockOrientation, playerAutoplayNextByDefaultStore, playerAutoPlayStore, + playerCCByDefault, playerDefaultLanguage, playerDefaultPlaybackSpeed, playerDefaultQualityStore, @@ -313,6 +314,24 @@ return false; } + function toggleSubtitles() { + const isVisible = player.isTextTrackVisible(); + if (isVisible) { + player.setTextTrackVisibility(false); + } else { + const defaultLanguage = get(playerDefaultLanguage); + const langCode = ISO6391.getCode(defaultLanguage); + + const tracks = player.getTextTracks(); + const subtitleTrack = tracks.find((track) => track.language === langCode); + + if (subtitleTrack) { + player.selectTextTrack(subtitleTrack); + player.setTextTrackVisibility(true); + } + } + } + page.subscribe((pageUpdate) => loadTimeFromUrl(pageUpdate)); async function loadVideo() { @@ -394,6 +413,9 @@ restoreQualityPreference(); restoreDefaultLanguage(); + if ($playerCCByDefault) { + toggleSubtitles(); + } if ($playerDefaultPlaybackSpeed && playerElement) { playerElement.playbackRate = $playerDefaultPlaybackSpeed; @@ -539,21 +561,7 @@ } Mousetrap.bind('c', () => { - const isVisible = player.isTextTrackVisible(); - if (isVisible) { - player.setTextTrackVisibility(false); - } else { - const defaultLanguage = get(playerDefaultLanguage); - const langCode = ISO6391.getCode(defaultLanguage); - - const tracks = player.getTextTracks(); - const subtitleTrack = tracks.find((track) => track.language === langCode); - - if (subtitleTrack) { - player.selectTextTrack(subtitleTrack); - player.setTextTrackVisibility(true); - } - } + toggleSubtitles(); return false; }); diff --git a/materialious/src/lib/components/Settings/Player.svelte b/materialious/src/lib/components/Settings/Player.svelte index 183a3510..860f95d7 100644 --- a/materialious/src/lib/components/Settings/Player.svelte +++ b/materialious/src/lib/components/Settings/Player.svelte @@ -9,6 +9,7 @@ playerAndroidLockOrientation, playerAutoPlayStore, playerAutoplayNextByDefaultStore, + playerCCByDefault, playerDefaultLanguage, playerDefaultPlaybackSpeed, playerDefaultQualityStore, @@ -133,6 +134,22 @@ {/if} +
+ +
+