"Use Windows default" is now exclusive: it clears + locks out the specific cards
Ed: ticking "Use Windows default audio device" should uncheck the other cards and stop them being ticked again until the default is turned back off - in both the app and the service. This replaces the old optional "shall I untick the others?" prompt with a hard rule. Behaviour (all follower lists: app received-outputs, outputs-to-send and inputs-to-send; service outputs): - Ticking the follower unticks every specific card in that list. - While the follower is on, trying to tick a specific card is refused (the ItemCheck is vetoed straight back to unticked) - you're either following the Windows default or picking cards, never both. - Unticking the follower frees the cards again. - Enforced on load too, so a hand-edited/legacy profile carrying both comes up clean. Shared, not duplicated: the veto + clear + follower-checked helpers live in AudioDefaultFollower and are used by MainForm and the service dialog alike. Removed the now-obsolete soft prompt and everything that hung off it: - MainForm.MaybeUntickOthersForDefault + ResetDefaultAudioDevicePrompt. - The "Reset the default audio device prompt" Options item (and its Alt+O,R). - AppConfig.UntickOthersWhenUsingDefaultOutput/Input. - Manual + About-box references to the prompt / reset item; the manual now documents the exclusive rule and lists all three follower lists (the outputs-to-send follower had been undocumented). Test: "Default follower exclusivity" self-test - follower on clears + locks specific cards, follower off frees them, unticking and the follower entry itself are never vetoed. Gate 45/45. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
4a86a82ec8
commit
5fc1b5bd75
@@ -248,12 +248,6 @@ public sealed class AppConfig
|
||||
/// device, following it if the default changes. Machine-wide, opt-in, default false.</summary>
|
||||
public bool UseDefaultLoopbackSend { get; set; }
|
||||
|
||||
/// <summary>Remembered answer to the "untick the other outputs/inputs when you turn on Use Windows
|
||||
/// default?" prompt. Null = ask each time; true = always untick; false = never untick. Set when the
|
||||
/// user ticks "Don't ask again" on that prompt. Machine-wide.</summary>
|
||||
public bool? UntickOthersWhenUsingDefaultOutput { get; set; }
|
||||
public bool? UntickOthersWhenUsingDefaultInput { get; set; }
|
||||
|
||||
/// <summary>If non-null and a profile with this title exists, RemSound skips the
|
||||
/// startup profile picker and loads this profile directly. Combine with
|
||||
/// <see cref="StartMinimised"/> + the Windows auto-start registry entry
|
||||
|
||||
Reference in New Issue
Block a user