Skip to content

feat: native audio and displays by default; stop bundling NirSoft tools (#91) - #99

Merged
lippdev merged 1 commit into
mainfrom
chore/drop-nirsoft
Sep 28, 2026
Merged

lippdev merged 1 commit into
mainfrom
chore/drop-nirsoft

Conversation

@lippdev

@lippdev lippdev commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • NativeAudio and NativeDisplays default to true.
  • The build no longer downloads or embeds MultiMonitorTool / SoundVolumeView; only rtss-cli (MIT) is still bundled.
  • The NirSoft backends stay in the code as a manual fallback (exe in the tools folder + flag set to false) until 1.6 is verified on hardware; removing them is the last code step of Replace the bundled NirSoft tools with our own code (unblocks code signing) #91.
  • Guide, third-party notices and manual checklist updated.

For 1.6.0-alpha.1. Not verified on hardware yet.

🤖 Generated with Claude Code

…ls (#91)

- NativeAudio and NativeDisplays default to true.
- The build no longer downloads or embeds MultiMonitorTool / SoundVolumeView
  (Get-NirSoftTools.ps1 removed); only rtss-cli (MIT) is still bundled.
- The NirSoft backends stay in the code as a fallback for anyone who drops the
  exe into the tools folder and sets the flag to false, until 1.6 is verified.
- Docs, third-party notices and the manual checklist updated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Existing users do not switch to the new native defaults without config migration.

Reviewed changes This review covers the switch to native audio and display defaults, removal of bundled NirSoft tools, and related documentation updates.

  • Native backends by default NativeAudio and NativeDisplays now initialize to true.
  • No bundled NirSoft tools The publish process and portable extraction now include only rtss-cli, while NirSoft implementations remain as manual fallbacks.
  • Documentation updates The guides, third-party notices, and manual testing checklist describe the new defaults and fallback setup.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using GPT Luna | 𝕏

/// <summary>Use Windows' display APIs instead of MultiMonitorTool (issue #91); off until verified on hardware.</summary>
public bool NativeDisplays { get; set; }
/// <summary>Core Audio instead of SoundVolumeView (issue #91). On since 1.6; false needs SoundVolumeView.exe in tools.</summary>
public bool NativeAudio { get; set; } = true;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing users keep nativeAudio: false after upgrading because their saved config.json already contains the old serialized false value; the initializer is only used when the property is absent. The same applies to nativeDisplays, so these users continue selecting the NirSoft fallback rather than receiving the advertised native defaults.

Technical details
# Migrate persisted backend defaults

## Affected sites
- `src/ConsoleMode/Models/Models.cs:23` — the initializer does not override values explicitly loaded from existing config files.
- `src/ConsoleMode/Models/Models.cs:25` — the same persisted-false behavior applies to native display selection.
- `src/ConsoleMode/Services/ConfigService.cs:14` — deserialization preserves the existing false values.

## Required outcome
- Existing configs from releases where both flags defaulted to false should use the new native backends after upgrade, while retaining a supported way for users to opt into the NirSoft fallback.

## Suggested approach
- Add a config-version migration that can distinguish pre-native-default configs and update the backend flags when loading them.

@lippdev
lippdev merged commit e0f245a into main Sep 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant