feat(audio): add a family dictation tone picker (#707)

Settings → Audio can pick start/stop cues from the shared catalog
(lift, flick, ember, step, voca, soft, chirp, scale, drop, glass, off).
New installs and any missing or unknown sound_effects.tone value use
voca. A saved id, including off, is left alone.

The old start_recording/stop_recording files stay on disk. They are
no longer the implicit default. Error cues still follow the existing
enable switch.
This commit is contained in:
Jatin K Malik
2026-08-18 17:46:55 -07:00
committed by GitHub
parent 994dda10a6
commit fd23ef0d9d
48 changed files with 565 additions and 100 deletions
+9
View File
@@ -485,6 +485,15 @@ class TestConfigManager(unittest.TestCase):
config_manager = ConfigManager()
self.assertTrue(config_manager.is_sound_effects_enabled())
def test_sound_effects_tone_defaults_to_voca(self):
"""New installs and missing tone keys resolve to voca."""
from vocalinux.ui.config_manager import DEFAULT_SOUND_EFFECT_TONE
config_manager = ConfigManager()
self.assertEqual(DEFAULT_SOUND_EFFECT_TONE, "voca")
self.assertEqual(config_manager.get_sound_effects_tone(), "voca")
self.assertEqual(config_manager.config["sound_effects"]["tone"], "voca")
def test_missing_tray_warning_enabled_by_default(self):
"""Test that the missing tray support warning is enabled by default."""
config_manager = ConfigManager()