diff --git a/NUXT/components/Player/index.vue b/NUXT/components/Player/index.vue index 594deb8..2561418 100644 --- a/NUXT/components/Player/index.vue +++ b/NUXT/components/Player/index.vue @@ -162,7 +162,10 @@ v-if="$refs.player" class="mx-2" :loop="$refs.player.loop" - @loop="$refs.player.loop = !$refs.player.loop" + @loop=" + ($refs.player.loop = !$refs.player.loop), + ($refs.audio.loop = !$refs.audio.loop) + " /> @@ -258,7 +261,8 @@ :current-speed="$refs.player.playbackRate" @speed=" ($refs.player.playbackRate = $event), - ($refs.audio.playbackRate = $event) + ($refs.audio.playbackRate = $event), + $store.commit('player/setSpeed', $event) " /> @@ -396,6 +400,8 @@ export default { if (vid.readyState >= 3) { this.$refs.audio.play(); this.$refs.audio.currentTime = vid.currentTime; + this.$refs.player.playbackRate = this.$store.state.player.speed; + this.$refs.audio.playbackRate = this.$store.state.player.speed; vid.addEventListener("timeupdate", () => { if (!this.seeking) this.progress = vid.currentTime; // for seekbar diff --git a/NUXT/pages/index.vue b/NUXT/pages/index.vue index f80877b..80d3e92 100644 --- a/NUXT/pages/index.vue +++ b/NUXT/pages/index.vue @@ -24,6 +24,7 @@ export default { //--- Init Stuff ---// this.progressMsg = this.$lang("index").connecting; this.$store.commit("tweaks/initTweaks"); + this.$store.commit("player/initPlayer"); //--- Load Theming ---// await this.theming(); diff --git a/NUXT/pages/mods/player.vue b/NUXT/pages/mods/player.vue index f9b1796..be29f22 100644 --- a/NUXT/pages/mods/player.vue +++ b/NUXT/pages/mods/player.vue @@ -6,71 +6,16 @@ -

Interactions (preview)

- - -
-
- - - - New -
-
- - -
- -
- Current -
-
- + +
+ Pre-buffer video data before playback to avoid buffering pauses. + (can be data intensive it high quality presets)
- _______________
+
Buffering threshold: 15%
- + -->

- mdi-speedometer - Speed · {{ speed }}x + mdi-speedometer + Speed · {{ speed }}x

-
+
Autosave
- - - mdi-alert-decagram Might cause issues with buffering -
- enable Pre-Fetch to avoid -
- - - + + + + + + - - - (NOTHING WORKS, WIP, incomplete) - -
- - + + diff --git a/NUXT/store/player/index.js b/NUXT/store/player/index.js index c2780df..429892c 100644 --- a/NUXT/store/player/index.js +++ b/NUXT/store/player/index.js @@ -3,7 +3,7 @@ export const state = () => ({ speed: 1, speedAutosave: null, preload: null, - quality: null, + // quality: null, // qualityAutoSwitch: null, // shortFullscreen: null, // autoplay: null, @@ -11,19 +11,31 @@ export const state = () => ({ // music: null, }); export const mutations = { + initPlayer(state) { + if (process.client) { + state.loop = JSON.parse(localStorage.getItem("loop")) === true; // defaults to false + state.speed = JSON.parse(localStorage.getItem("speed")) || 1; // defaults to 1 + state.speedAutosave = !( + // false if false, defaults to true + (JSON.parse(localStorage.getItem("speedAutosave")) === false) + ); + state.preload = JSON.parse(localStorage.getItem("preload")) === true; // defaults to false + } + }, setLoop(state, payload) { state.loop = payload; + localStorage.setItem("loop", payload); }, setSpeed(state, payload) { state.speed = payload; + localStorage.setItem("speed", payload); }, setSpeedAutosave(state, payload) { state.speedAutosave = payload; + localStorage.setItem("speedAutosave", payload); }, setPreload(state, payload) { state.preload = payload; - }, - setQuality(state, payload) { - state.quality = payload; + localStorage.setItem("preload", payload); }, }; diff --git a/NUXT/store/tweaks/index.js b/NUXT/store/tweaks/index.js index f66e1cb..186ad57 100644 --- a/NUXT/store/tweaks/index.js +++ b/NUXT/store/tweaks/index.js @@ -5,8 +5,6 @@ export const state = () => ({ }); export const mutations = { initTweaks(state) { - // NOTE: localStorage is not reactive, so it will only be used on first load - // currently called on mounted() in pages/index.vue if (process.client) { state.roundTweak = JSON.parse(localStorage.getItem("roundTweak")) || 0; state.roundThumb =