Add option for logarithmic volume scaling

Introduces a user setting to enable logarithmic (quadratic) volume scaling for more natural audio perception.
This commit is contained in:
Adam 2025-12-25 07:55:47 +00:00
parent 122fc34a75
commit 9012c7f0a8
4 changed files with 17 additions and 2 deletions

View file

@ -8,6 +8,12 @@
<span>{{ $strings.LabelUseChapterTrack }}</span>
</div>
</div>
<div class="flex items-center mb-4">
<ui-toggle-switch v-model="useLogarithmicVolume" @input="setUseLogarithmicVolume" />
<div class="pl-4">
<span>{{ $strings.LabelUseLogarithmicVolume }}</span>
</div>
</div>
<div class="flex items-center mb-4">
<ui-select-input v-model="jumpForwardAmount" :label="$strings.LabelJumpForwardAmount" menuMaxHeight="250px" :items="jumpValues" @input="setJumpForwardAmount" />
</div>
@ -29,6 +35,7 @@ export default {
data() {
return {
useChapterTrack: false,
useLogarithmicVolume: true,
jumpValues: [
{ text: this.$getString('LabelTimeDurationXSeconds', ['10']), value: 10 },
{ text: this.$getString('LabelTimeDurationXSeconds', ['15']), value: 15 },
@ -57,6 +64,9 @@ export default {
setUseChapterTrack() {
this.$store.dispatch('user/updateUserSettings', { useChapterTrack: this.useChapterTrack })
},
setUseLogarithmicVolume() {
this.$store.dispatch('user/updateUserSettings', { useLogarithmicVolume: this.useLogarithmicVolume })
},
setJumpForwardAmount(val) {
this.jumpForwardAmount = val
this.$store.dispatch('user/updateUserSettings', { jumpForwardAmount: val })
@ -71,6 +81,7 @@ export default {
},
settingsUpdated() {
this.useChapterTrack = this.$store.getters['user/getUserSetting']('useChapterTrack')
this.useLogarithmicVolume = this.$store.getters['user/getUserSetting']('useLogarithmicVolume')
this.jumpForwardAmount = this.$store.getters['user/getUserSetting']('jumpForwardAmount')
this.jumpBackwardAmount = this.$store.getters['user/getUserSetting']('jumpBackwardAmount')
this.playbackRateIncrementDecrement = this.$store.getters['user/getUserSetting']('playbackRateIncrementDecrement')