Reset-ASIO button + checkbox tick/untick sounds (parts 1-2 of the cue/preferences overhaul)
Part 1 - "Uncheck all inputs and outputs" button now also resets the ASIO driver to "(none)": renamed to say so, and UncheckAllDevices sets asioDriverBox to row 0 for a full clean WASAPI-only, nothing-selected state. Part 2 - checkbox tick/untick sounds: every checkbox toggle anywhere in RemSound now plays a short cue (check.wav on tick, uncheck.wav on untick) - instant feedback on which way a box went, especially in the inputs/outputs lists. New CheckSoundService + two machine-wide cues (CheckboxOn/Off) with the usual numbered-variant + Preferences treatment. Hooked from AccessibleCheckBox.OnCheckedChanged and the device lists' WireCheckedListAccessibility, both gated on the control being Focused so a genuine user toggle clicks but bulk programmatic (un)checking (profile load, "uncheck all") stays silent. Reloaded at startup and on cue change. Tests + manual updated; .sfk byproducts cleared. Remaining for the overhaul (next): tabbed Preferences (General / Audio cues / Startup behaviour / Update settings), the cue-list redesign with a "none" option replacing per-cue checkboxes, moving Startup behaviour out of the Options menu, and a front-most "missing sound file" error. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8763470037
commit
aed555cc2e
@@ -137,6 +137,10 @@ internal static class Program
|
||||
KeyClickService.Initialize(AppConfig.Load().EnableKeyboardClicks);
|
||||
Application.ApplicationExit += (_, _) => KeyClickService.Shutdown();
|
||||
|
||||
// Tick/untick sounds for checkbox toggles app-wide (CheckSoundService). Loaded here; reloaded
|
||||
// by MainForm.ReloadAllCueSounds whenever cue settings change in Preferences.
|
||||
CheckSoundService.Reload();
|
||||
|
||||
// One-time "your settings moved" notice — only the launch that actually relocated files
|
||||
// shows it (idempotent migration ⇒ MovedAnything is false on every later launch). Shown
|
||||
// here, after the guard and before the profile picker, so the user reads it once up front.
|
||||
|
||||
Reference in New Issue
Block a user