Mutey

Overview

Mutey is a lightweight .NET tray utility that toggles the Windows microphone mute state by controlling the default capture endpoint (Core Audio). It is built to keep mute reliable when games capture input or when voice apps are unfocused, with immediate visual and audio feedback.

My Role

Creator and sole developer.

Key Contributions

  • Implemented microphone mute/unmute by controlling the Windows default capture endpoint mute state (Core Audio).
  • Built a background system tray application with menu actions (Settings, Toggle Mute, Exit) and double-click toggle.
  • Implemented a global hotkey using Win32 RegisterHotKey so mute works outside the focused application.
  • Created an on-screen overlay indicator showing LIVE vs MUTED, with always-on-top and click-through behavior.
  • Added configurable audio feedback for mute and unmute events (custom sound files with system-sound fallback).
  • Implemented automatic reattachment when the Windows default microphone device changes.
  • Added optional state file output (0/1) for Rainmeter and other desktop tooling integration.
  • Implemented a dedicated settings UI for glyphs, overlay options, audio, hotkey, and output path.
  • Atomic file operations for state file writes (temp file + copy)
  • Background polling loop (1.5s interval) for device change detection
  • Window message loop integration for hotkey handling

Tech Stack

  • C# (.NET 8)
  • Windows Forms (tray app, overlay, settings UI)
  • Windows Core Audio / NAudio (endpoint mute control)
  • Win32 (RegisterHotKey)
  • R3 (for FRP)

Why This Example Matters

  • Demonstrates practical Windows desktop engineering: native interop, background UX, and reliable global input handling.
  • Shows clean separation of concerns (endpoint service, hotkey window, overlay UI, settings persistence).
  • Highlights shipping-focused utility work: predictable behavior, user configuration, and integration hooks (state file).

How to Use

  • Run Mutey.exe.
  • Adjust settings by right clicking tray icon.
  • Toggle mute via the configured global hotkey or by interacting with the tray icon.

Links