From 569ed6c0cc440572b37a06200b6706badcdf8e45 Mon Sep 17 00:00:00 2001 From: Tursiae Date: Tue, 11 Feb 2025 00:23:35 +0000 Subject: TTS: Implement and wire up a TTS toggle in Display Settings (#251) This change introduces the ability to enable or disable the spoken interface/TTS from the on-device settings, either via the UI or the Lua console. This closes out the implementation of issue #245. The TTS setting is only visible in Display settings if voice samples are present in `/.tangara-tts/` on the SD card. Playback of new TTS voice samples is inhibited when TTS is disabled. By default, the setting is enabled, as the device will only play back TTS voices if samples are present on disk. If you need samples to test TTS on your device, feel free to grab the voice samples I have at https://codeberg.org/tursiae/tangara-tts-samples. There's about 80-85% coverage of the UI, with the remainder to be added soonish. Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/251 Co-authored-by: Tursiae Co-committed-by: Tursiae --- src/drivers/include/drivers/nvs.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/drivers/include') diff --git a/src/drivers/include/drivers/nvs.hpp b/src/drivers/include/drivers/nvs.hpp index e3a105f8..21d32f42 100644 --- a/src/drivers/include/drivers/nvs.hpp +++ b/src/drivers/include/drivers/nvs.hpp @@ -122,6 +122,9 @@ class NvsStorage { auto ScreenBrightness() -> uint_fast8_t; auto ScreenBrightness(uint_fast8_t) -> void; + auto UITextToSpeech() -> bool; + auto UITextToSpeech(bool) -> void; + auto InterfaceTheme() -> std::optional; auto InterfaceTheme(std::string) -> void; @@ -179,6 +182,7 @@ class NvsStorage { Setting fast_charge_; Setting brightness_; + Setting text_to_speech_; Setting sensitivity_; Setting amp_max_vol_; Setting amp_cur_vol_; -- cgit v1.2.3