[TTS] Ability to mute auto-speak TTS
Make it possible to mute the autospoken part of TTS, eg. speaking incoming text
as it arrives etc. This should not mute TTS generated from scan_index or
tts:speak_direct from lua.
Eg.
-- Mutes auto-spoken TTS
tts:mute()
I've started work on this.
One question. I'm storing the muted field in TTSSettings instead of TTSController so it can be persisted.
I think this will require the settings file version to be bumped to v3. In particular, the tests in tools::patch::patch_test::test_v2_migrator are failing (create_v2_tts_settings_file). Are you ok with a full version bump? Another option is more checking around loading and saving unknown fields in the config.
Let me know what you think.
I don't think this needs to be persisted through restarts at all. Just holding the state in the controller session should suffice. There is rarely any reason for a blind player to want to permanently mute the application.
The original reason for this is the fact that blightmud compared to regular screen reader use will keep talking even if the window is not in focus or minimized. So this was added as a request to be able to force it to be quiet for a while if you were going to look at something else. So a user would just bind it to a suitable command for use when needed.
Thank you for laying out the original reasons and user needs. I'll use the controller session.
I bit off more than I can chew here, I wasn't happy with the version I came up with. If somebody wants to pick it up, that's cool. Thank you for your time and the work on this great project.
Issue flagged as stale