feat(tts): add auto mode for text-to-speech engine selection

This commit is contained in:
cogwheel0
2025-11-02 21:31:13 +05:30
parent da249eaa31
commit cfadeffd24
19 changed files with 579 additions and 154 deletions

View File

@@ -12,7 +12,7 @@ part 'settings_service.g.dart';
enum SttPreference { auto, deviceOnly, serverOnly }
/// TTS engine selection
enum TtsEngine { device, server }
enum TtsEngine { auto, device, server }
/// Service for managing app-wide settings including accessibility preferences
class SettingsService {
@@ -223,11 +223,15 @@ class SettingsService {
static TtsEngine _parseTtsEngine(String? raw) {
switch ((raw ?? '').toLowerCase()) {
case 'auto':
case '':
return TtsEngine.auto;
case 'server':
return TtsEngine.server;
case 'device':
default:
return TtsEngine.device;
default:
return TtsEngine.auto;
}
}
@@ -409,7 +413,7 @@ class AppSettings {
this.ttsSpeechRate = 0.5,
this.ttsPitch = 1.0,
this.ttsVolume = 1.0,
this.ttsEngine = TtsEngine.device,
this.ttsEngine = TtsEngine.auto,
this.ttsServerVoiceId,
this.ttsServerVoiceName,
});