diff --git a/materialious/electron/package-lock.json b/materialious/electron/package-lock.json index 5ee6ca7a..12a236f1 100644 --- a/materialious/electron/package-lock.json +++ b/materialious/electron/package-lock.json @@ -1,15 +1,16 @@ { "name": "Materialious", - "version": "1.7.6", + "version": "1.7.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Materialious", - "version": "1.7.6", + "version": "1.7.15", "license": "MIT", "dependencies": { "@capacitor-community/electron": "^5.0.0", + "capacitor-nodejs": "https://github.com/EdenwareApps/Capacitor-NodeJS/releases/download/v1.0.0-beta.7/capacitor6-nodejs.tgz", "chokidar": "~4.0.3", "electron-is-dev": "~2.0.0", "electron-serve": "~1.1.0", @@ -1724,6 +1725,15 @@ "node": ">=8" } }, + "node_modules/capacitor-nodejs": { + "version": "1.0.0-beta.7", + "resolved": "https://github.com/EdenwareApps/Capacitor-NodeJS/releases/download/v1.0.0-beta.7/capacitor6-nodejs.tgz", + "integrity": "sha512-7NwSMxE06nqpuFKyQlt3mWo+VG6Od0d6PBxPKVyPmaptE6sSoimzU/uzQXPWoHV5bwbjgcF+R0BSJAZAyy4gsg==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": "^6.0.0" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", diff --git a/materialious/electron/package.json b/materialious/electron/package.json index 50d53e8b..5cf9dfbf 100644 --- a/materialious/electron/package.json +++ b/materialious/electron/package.json @@ -23,6 +23,7 @@ }, "dependencies": { "@capacitor-community/electron": "^5.0.0", + "capacitor-nodejs": "https://github.com/EdenwareApps/Capacitor-NodeJS/releases/download/v1.0.0-beta.7/capacitor6-nodejs.tgz", "chokidar": "~4.0.3", "electron-is-dev": "~2.0.0", "electron-serve": "~1.1.0", @@ -41,4 +42,4 @@ "capacitor", "electron" ] -} \ No newline at end of file +} diff --git a/materialious/electron/src/rt/electron-plugins.js b/materialious/electron/src/rt/electron-plugins.js index b33b2826..5f312366 100644 --- a/materialious/electron/src/rt/electron-plugins.js +++ b/materialious/electron/src/rt/electron-plugins.js @@ -1,4 +1,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ +const CapacitorNodejs = require('../../../node_modules/capacitor-nodejs/electron/dist/plugin.js'); module.exports = { + CapacitorNodejs, } \ No newline at end of file diff --git a/materialious/package-lock.json b/materialious/package-lock.json index 275e4c54..681fe0b1 100644 --- a/materialious/package-lock.json +++ b/materialious/package-lock.json @@ -33,6 +33,7 @@ "media-icons": "^0.10.0", "mousetrap": "^1.6.5", "peerjs": "^1.5.4", + "shaka-player": "^4.13.4", "sponsorblock-api": "^0.2.4", "svelte-i18n": "^4.0.1", "svelte-infinite-loading": "^1.4.0", @@ -6122,6 +6123,12 @@ "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", "license": "ISC" }, + "node_modules/eme-encryption-scheme-polyfill": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eme-encryption-scheme-polyfill/-/eme-encryption-scheme-polyfill-2.2.1.tgz", + "integrity": "sha512-GzgrLuZPYGijd8oaKuBqYv3Tc2oruDZM3V2982KOuy/PA1N3zwMe+/oIXJYfZ3BH3PwW5nONdBBE+VY6jlwbrw==", + "license": "Apache-2.0" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -11680,6 +11687,18 @@ "node": ">= 0.4" } }, + "node_modules/shaka-player": { + "version": "4.13.4", + "resolved": "https://registry.npmjs.org/shaka-player/-/shaka-player-4.13.4.tgz", + "integrity": "sha512-dVEpbTO27gxM7GZO+4Ks9WVcL9xCLiZe9GTmlRIF7E8KaX8NlbCPHKtSK65HmJS1dfBeqd69/Kpm8724bJOWOw==", + "license": "Apache-2.0", + "dependencies": { + "eme-encryption-scheme-polyfill": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", diff --git a/materialious/package.json b/materialious/package.json index 42b8c285..8cc9edc1 100644 --- a/materialious/package.json +++ b/materialious/package.json @@ -65,6 +65,7 @@ "media-icons": "^0.10.0", "mousetrap": "^1.6.5", "peerjs": "^1.5.4", + "shaka-player": "^4.13.4", "sponsorblock-api": "^0.2.4", "svelte-i18n": "^4.0.1", "svelte-infinite-loading": "^1.4.0", diff --git a/materialious/src/lib/components/Player.svelte b/materialious/src/lib/components/Player.svelte index 6de47e59..640cc406 100644 --- a/materialious/src/lib/components/Player.svelte +++ b/materialious/src/lib/components/Player.svelte @@ -34,22 +34,13 @@ interface Props { data: { video: VideoPlay; content: PhasedDescription; playlistId: string | null }; audioMode?: boolean; - player: MediaPlayerElement; isSyncing?: boolean; isEmbed?: boolean; segments?: Segment[]; } - let { - data, - audioMode = false, - player = $bindable(), - isSyncing = false, - isEmbed = false, - segments = $bindable([]) - }: Props = $props(); + let { data, audioMode = false, isEmbed = false, segments = $bindable([]) }: Props = $props(); - let src: PlayerSrc = $state([]); let snackBarAlert = $state(''); let playerIsLive = $state(false); let playerPosSet = false; diff --git a/materialious/src/lib/components/Transcript.svelte b/materialious/src/lib/components/Transcript.svelte index ff865fc3..abc68664 100644 --- a/materialious/src/lib/components/Transcript.svelte +++ b/materialious/src/lib/components/Transcript.svelte @@ -4,18 +4,15 @@ import { VTTCue, parseText, type ParsedCaptionsResult } from 'media-captions'; import { _ } from 'svelte-i18n'; import { get } from 'svelte/store'; - import type { MediaTimeUpdateEvent } from 'vidstack'; - import type { MediaPlayerElement } from 'vidstack/elements'; import type { VideoPlay } from '../api/model'; import { decodeHtmlCharCodes } from '../misc'; import { instanceStore } from '../store'; interface Props { video: VideoPlay; - player: MediaPlayerElement; } - let { video, player = $bindable() }: Props = $props(); + let { video }: Props = $props(); let url: string | null = $state(null); let autoScroll: boolean = $state(true); @@ -26,21 +23,21 @@ let currentTime = $state(0); let search: string = $state(''); - player.addEventListener('time-update', (event: MediaTimeUpdateEvent) => { - currentTime = event.detail.currentTime; + // player.addEventListener('time-update', (event: MediaTimeUpdateEvent) => { + // currentTime = event.detail.currentTime; - if (autoScroll) { - const currentTranscriptLine = document.querySelector( - '.transcript-line.secondary-container' - ) as HTMLElement; - const transcriptScrollable = document.getElementById('transcript'); + // if (autoScroll) { + // const currentTranscriptLine = document.querySelector( + // '.transcript-line.secondary-container' + // ) as HTMLElement; + // const transcriptScrollable = document.getElementById('transcript'); - if (currentTranscriptLine && transcriptScrollable) { - transcriptScrollable.scrollTop = - currentTranscriptLine.offsetTop - transcriptScrollable.offsetTop - 300; - } - } - }); + // if (currentTranscriptLine && transcriptScrollable) { + // transcriptScrollable.scrollTop = + // currentTranscriptLine.offsetTop - transcriptScrollable.offsetTop - 300; + // } + // } + // }); async function loadTranscript() { if (!url) { diff --git a/materialious/src/routes/(app)/watch/[slug]/+page.svelte b/materialious/src/routes/(app)/watch/[slug]/+page.svelte index d3dd6e23..c7edfa5b 100644 --- a/materialious/src/routes/(app)/watch/[slug]/+page.svelte +++ b/materialious/src/routes/(app)/watch/[slug]/+page.svelte @@ -1,7 +1,4 @@