fix(#5435): preserve zero TTS pitch in settings
This commit is contained in:
parent
91ae1dede9
commit
7ee2757afe
2 changed files with 8 additions and 4 deletions
|
|
@ -8776,7 +8776,7 @@ async function loadSettingsPanel(){
|
|||
const ttsRateValue=$('settingsTtsRateValue');
|
||||
if(ttsRateSlider){
|
||||
const savedRate=_speechSetting('tts_rate','hermes-tts-rate',1);
|
||||
ttsRateSlider.value=savedRate||'1';
|
||||
ttsRateSlider.value=(savedRate===null||savedRate===undefined)?'1':String(savedRate);
|
||||
if(ttsRateValue) ttsRateValue.textContent=parseFloat(ttsRateSlider.value).toFixed(1)+'x';
|
||||
localStorage.setItem('hermes-tts-rate',ttsRateSlider.value);
|
||||
ttsRateSlider.oninput=function(){if(ttsRateValue)ttsRateValue.textContent=parseFloat(this.value).toFixed(1)+'x';localStorage.setItem('hermes-tts-rate',this.value);_schedulePreferencesAutosave();};
|
||||
|
|
@ -8785,7 +8785,7 @@ async function loadSettingsPanel(){
|
|||
const ttsPitchValue=$('settingsTtsPitchValue');
|
||||
if(ttsPitchSlider){
|
||||
const savedPitch=_speechSetting('tts_pitch','hermes-tts-pitch',1);
|
||||
ttsPitchSlider.value=savedPitch||'1';
|
||||
ttsPitchSlider.value=(savedPitch===null||savedPitch===undefined)?'1':String(savedPitch);
|
||||
if(ttsPitchValue) ttsPitchValue.textContent=parseFloat(ttsPitchSlider.value).toFixed(1);
|
||||
localStorage.setItem('hermes-tts-pitch',ttsPitchSlider.value);
|
||||
ttsPitchSlider.oninput=function(){if(ttsPitchValue)ttsPitchValue.textContent=parseFloat(this.value).toFixed(1);localStorage.setItem('hermes-tts-pitch',this.value);_schedulePreferencesAutosave();};
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ def test_settings_api_round_trips_speech_preferences():
|
|||
"tts_engine": "voicevox_local",
|
||||
"tts_voice": "en-US-AriaNeural",
|
||||
"tts_rate": "1.4",
|
||||
"tts_pitch": "0.8",
|
||||
"tts_pitch": "0",
|
||||
"voice_mode_button": True,
|
||||
"voice_continuous": True,
|
||||
"voice_silence_ms": "2400",
|
||||
|
|
@ -84,7 +84,7 @@ def test_settings_api_round_trips_speech_preferences():
|
|||
assert saved["tts_engine"] == "voicevox_local"
|
||||
assert saved["tts_voice"] == "en-US-AriaNeural"
|
||||
assert saved["tts_rate"] == 1.4
|
||||
assert saved["tts_pitch"] == 0.8
|
||||
assert saved["tts_pitch"] == 0.0
|
||||
assert saved["voice_mode_button"] is True
|
||||
assert saved["voice_continuous"] is True
|
||||
assert saved["voice_silence_ms"] == 2400
|
||||
|
|
@ -193,6 +193,10 @@ def test_settings_panel_persists_speech_fields_and_keeps_immediate_cache_writes(
|
|||
]:
|
||||
assert storage_key in panel_block or storage_key in payload_block
|
||||
assert "_speechSetting('tts_engine','hermes-tts-engine','browser')" in panel_block
|
||||
assert "savedRate||'1'" not in panel_block
|
||||
assert "savedPitch||'1'" not in panel_block
|
||||
assert "ttsRateSlider.value=(savedRate===null||savedRate===undefined)?'1':String(savedRate)" in panel_block
|
||||
assert "ttsPitchSlider.value=(savedPitch===null||savedPitch===undefined)?'1':String(savedPitch)" in panel_block
|
||||
assert "serverBool===fallbackBool&&storedBool!==fallbackBool" in PANELS_JS
|
||||
assert "String(server)===String(fallback)&&String(stored)!==String(fallback)" in PANELS_JS
|
||||
assert "_schedulePreferencesAutosave()" in panel_block
|
||||
|
|
|
|||
Loading…
Reference in a new issue