diff --git a/client/components/modals/PlayerSettingsModal.vue b/client/components/modals/PlayerSettingsModal.vue index dfac28cfd..276a163b2 100644 --- a/client/components/modals/PlayerSettingsModal.vue +++ b/client/components/modals/PlayerSettingsModal.vue @@ -17,6 +17,18 @@
+ +
+ +
+ +
+ {{ $strings.LabelEnableSmartSpeed || 'Enable Smart Speed' }} +
+
+
+ +
@@ -40,7 +52,17 @@ export default { jumpForwardAmount: 10, jumpBackwardAmount: 10, playbackRateIncrementDecrementValues: [0.1, 0.05], - playbackRateIncrementDecrement: 0.1 + playbackRateIncrementDecrement: 0.1, + enableSmartSpeed: false, + smartSpeedRatio: 2.5, + smartSpeedRatioValues: [ + { text: '1.5x', value: 1.5 }, + { text: '2.0x', value: 2.0 }, + { text: '2.5x', value: 2.5 }, + { text: '3.0x', value: 3.0 }, + { text: '4.0x', value: 4.0 }, + { text: '5.0x', value: 5.0 } + ] } }, computed: { @@ -51,6 +73,9 @@ export default { set(val) { this.$emit('input', val) } + }, + isCasting() { + return this.$store.state.globals.isCasting || false } }, methods: { @@ -69,11 +94,24 @@ export default { this.playbackRateIncrementDecrement = val this.$store.dispatch('user/updateUserSettings', { playbackRateIncrementDecrement: val }) }, + setEnableSmartSpeed() { + this.$store.commit('user/SET_SMART_SPEED_ENABLED', this.enableSmartSpeed) + }, + setSmartSpeedRatio(val) { + this.smartSpeedRatio = val + this.$store.commit('user/SET_SMART_SPEED_RATIO', val) + }, settingsUpdated() { this.useChapterTrack = this.$store.getters['user/getUserSetting']('useChapterTrack') this.jumpForwardAmount = this.$store.getters['user/getUserSetting']('jumpForwardAmount') this.jumpBackwardAmount = this.$store.getters['user/getUserSetting']('jumpBackwardAmount') this.playbackRateIncrementDecrement = this.$store.getters['user/getUserSetting']('playbackRateIncrementDecrement') + + const enableSmartSpeed = this.$store.getters['user/getUserSetting']('enableSmartSpeed') + this.enableSmartSpeed = enableSmartSpeed !== null ? enableSmartSpeed : false + + const smartSpeedRatio = this.$store.getters['user/getUserSetting']('smartSpeedRatio') + this.smartSpeedRatio = smartSpeedRatio !== null ? smartSpeedRatio : 2.5 } }, mounted() { diff --git a/client/components/player/PlayerTrackBar.vue b/client/components/player/PlayerTrackBar.vue index 6c96a6bfb..2d09ea53a 100644 --- a/client/components/player/PlayerTrackBar.vue +++ b/client/components/player/PlayerTrackBar.vue @@ -1,5 +1,11 @@