Skip to content

Commit 01d8ae4

Browse files
authored
Adjust default playback rate to the maximum value when it is too large (#7221)
1 parent db09988 commit 01d8ae4

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

src/renderer/components/FtSlider/FtSlider.vue

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</template>
2121

2222
<script setup>
23-
import { computed, ref } from 'vue'
23+
import { computed, ref, watch } from 'vue'
2424
import { useId } from '../../composables/use-id-polyfill.js'
2525
2626
const props = defineProps({
@@ -59,6 +59,12 @@ const emit = defineEmits(['change'])
5959
const id = useId()
6060
const currentValue = ref(props.defaultValue)
6161
62+
watch(() => props.defaultValue, (value) => {
63+
if (currentValue.value !== value) {
64+
currentValue.value = value
65+
}
66+
})
67+
6268
const displayLabel = computed(() => {
6369
if (props.valueExtension === null) {
6470
return currentValue.value

src/renderer/store/modules/settings.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,21 @@ const sideEffectHandlers = {
401401
const { webFrame } = require('electron')
402402
webFrame.setZoomFactor(value / 100)
403403
}
404-
}
404+
},
405+
406+
maxVideoPlaybackRate: ({ dispatch, state }, value) => {
407+
if (state.defaultPlayback > value) {
408+
dispatch('updateDefaultPlayback', value)
409+
}
410+
},
411+
412+
videoPlaybackRateInterval: ({ dispatch, state }, value) => {
413+
const correctedDefaultPlaybackRate = value * Math.round(state.defaultPlayback / value)
414+
415+
if (state.defaultPlayback !== correctedDefaultPlaybackRate) {
416+
dispatch('updateDefaultPlayback', correctedDefaultPlaybackRate)
417+
}
418+
},
405419
}
406420

407421
const settingsWithSideEffects = Object.keys(sideEffectHandlers)

0 commit comments

Comments
 (0)