MicMute v2.2.0#4
Open
rjcncpt wants to merge 2 commits into
Open
Conversation
Added
- Multiple Hotkey Support
- Toggle Hotkey: Switch microphone on/off
- Mute Hotkey: Force microphone to muted state
- Unmute Hotkey: Force microphone to unmuted state
- Push-to-Talk Feature
- Toast Notification System
- Windows startup Integration
Fixed
- Single Instance Check (Mutex): A check has been added to prevent the program from being started multiple times (which would lead to hotkey conflicts and multiple tray icons).
- Resource management (memory leaks):
- The NotifyIcon is now cleanly disposed of when the application is closed to prevent “ghost icons” in the tray area.
- COM objects (in GetSystemMicrophoneMuteState) are released more robustly in a finally block to avoid memory leaks in the core audio area.
- Error tolerance (crash prevention):
- The loading of icons (mic_on.ico, mic_off.ico) is now wrapped in try-catch blocks. If the files are missing, the program no longer crashes but uses a system icon as a fallback.
- INI parsing has been made more robust (less sensitive to spaces).
- Logic improvement:
- The main method has been encapsulated in a try-finally block to ensure that hotkeys are deregistered and icons are removed even if an error occurs.
- GC.KeepAlive has been added to ensure that the garbage collector does not accidentally clean up the keyboard hook (although the static reference is usually sufficient, this is “best practice”).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added
Knowns
Improvements
NotifyIconis now cleanly disposed of when the application is closed to prevent “ghost icons” in the tray area.GetSystemMicrophoneMuteState) are released more robustly in afinallyblock to avoid memory leaks in the core audio area.mic_on.ico, mic_off.ico) is now wrapped intry-catchblocks. If the files are missing, the program no longer crashes but uses a system icon as a fallback.try-finallyblock to ensure that hotkeys are deregistered and icons are removed even if an error occurs.GC.KeepAlivehas been added to ensure that the garbage collector does not accidentally clean up the keyboard hook (although the static reference is usually sufficient, this is “best practice”).