Audio cues: add send/receive on-off and minimise/restore cues (2 sounds each), drop .sfk byproducts
Six new machine-wide cues, each with the same numbered-variant + Preferences treatment as
the others (enable tickbox, Choose default sound picker, Play/Browse):
- Send turned on / off, Receive turned on / off: fire from OnStreamingCheckboxChanged, so
they sound whether the user clicked the in-window tickbox or pressed the mute shortcut
(the hotkey flips .Checked, which routes through the same handler). Suppressed during
profile load by the existing password-gate guard, so loading a profile doesn't blast them.
- Minimise (hide) / Restore (show): fire from the tray controller's Minimize()/Restore() on a
genuine visibility transition (guarded against no-op / startup-minimise).
Enable flags + custom-WAV overrides for these six live machine-wide in AppConfig
(EnableSendOnCue.., MachineCueCustomPaths) - they're app-level feedback, not per-profile
audio - so no Profile/settings-cache plumbing. TryLoadCueSound now also honours the
machine-wide custom path. PreferencesDialog gains a MachineRow helper + the six rows.
Sounds: shipped via the existing sounds\*.wav wildcard. Fixed an obvious typo in the
supplied files ("rcieve off 1.wav" -> "recieve off 1.wav") so receive-off has both variants.
Renamed the old single-name cue WAVs to Ed's numbered-variant set; added key/passkey and the
new cue sounds.
build-release.ps1: new step deletes the SoundForge .sfk peak-file byproducts from sounds\
before packaging (they never shipped - build is *.wav only - this just keeps the tree tidy).
Tests + manual updated for the six new cues.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e526014e6a
commit
8763470037
@@ -96,6 +96,23 @@ public sealed class AppConfig
|
||||
/// Machine-wide; the user unticks "Play keyboard clicks" in Preferences to silence it.</summary>
|
||||
public bool EnableKeyboardClicks { get; set; } = true;
|
||||
|
||||
/// <summary>Per-cue enable flags for the machine-wide cues added 2026-06-13: the send/receive
|
||||
/// on/off toggle cues and the minimise(hide)/restore(show) cues. Machine-wide (like the startup
|
||||
/// cue) rather than per-profile - they're app-level feedback for an action, not a per-profile
|
||||
/// audio setting. All default on; the user unticks them in Preferences like any other cue.</summary>
|
||||
public bool EnableSendOnCue { get; set; } = true;
|
||||
public bool EnableSendOffCue { get; set; } = true;
|
||||
public bool EnableReceiveOnCue { get; set; } = true;
|
||||
public bool EnableReceiveOffCue { get; set; } = true;
|
||||
public bool EnableHideCue { get; set; } = true;
|
||||
public bool EnableShowCue { get; set; } = true;
|
||||
|
||||
/// <summary>Custom WAV overrides for the machine-wide cues above, keyed by cue id. The
|
||||
/// equivalent of <see cref="Profile.CustomCuePaths"/> but machine-wide, since these cues don't
|
||||
/// live on a profile. Empty = use the chosen default variant. The startup cue keeps its own
|
||||
/// <see cref="StartupCueCustomPath"/> field for backward compatibility.</summary>
|
||||
public Dictionary<string, string> MachineCueCustomPaths { get; set; } = new();
|
||||
|
||||
/// <summary>If true, RemSound writes a tab-separated diagnostic log to
|
||||
/// <c><exe>\logs\</c>. Lives here (not in <see cref="Profile"/>) because logging
|
||||
/// is a debugging affordance for the installation, not a user-facing audio preference —
|
||||
|
||||
Reference in New Issue
Block a user