Skip to content

Releases: IamSwap/micpin

MicPin 1.2.0

Choose a tag to compare

@IamSwap IamSwap released this 17 Aug 16:46

A simpler menu.

One switch instead of two confusing controls. "Pin nothing" and "Pause pinning" both stopped your mic being held, differing only in whether the choice was remembered — a distinction that served the code rather than anyone reading the menu. There is now a single switch on the status row: off stops holding, your device stays selected, on resumes.

Hover matches Control Centre. It was painted in the accent colour; it is now the same quiet translucent wash the Sound and Bluetooth panels use, so the blur behind stays visible.

Fixes:

  • Device rows sized themselves to their own text, so the hover highlight never reached the menu edge and every row was a slightly different width.
  • The switches could not be operated from the keyboard at all — Return and Space did nothing.
  • A device-type icon that was unavailable on an older macOS left an empty badge with no fallback.

Install: brew install --cask IamSwap/tap/micpin, or download the zip below. Signed and notarized. macOS 13+, universal.

MicPin 1.1.0

Choose a tag to compare

@IamSwap IamSwap released this 17 Aug 12:35

Redesigned menu.

Each input device now carries an icon for how it is attached — USB, Bluetooth, built-in, virtual, Continuity, display — and the pinned device is marked by a filled blue badge rather than a checkmark. With names like BlackHole 2ch sitting next to iPhone 12 mini Microphone, the kind of device is often more useful than its name.

Pause pinning and Open at login are switches now, and deliberately keep the menu open so you can see the state change.

The app also has a proper icon, so it no longer shows a blank generic one in Finder.

Fixes:

  • Menu rows never responded to hover. Custom views have to track the mouse themselves, and the tracking area was being registered in a method macOS never called for these views.
  • A failed Open at login change now reverts the switch rather than leaving it showing a state that did not take effect.
  • The menu had three competing left insets; it now has two, matching the Sound panel.

Install: download MicPin-1.1.0-universal.zip, unzip, drag to /Applications. Signed and notarized — it opens with no warning. macOS 13+, universal.

MicPin 1.0.0

Choose a tag to compare

@IamSwap IamSwap released this 17 Aug 12:18

Pins one audio input device as the macOS default, so nothing can steal your microphone.

macOS has no device-priority setting — whatever was plugged in or paired most recently wins the default input. Connect AirPods, a headset or a monitor webcam and your good mic is silently dropped, usually discovered halfway through a call. MicPin puts it back within a fraction of a second, and never touches output selection.

Install

Download MicPin-1.0.0-universal.zip below, unzip, and drag MicPin.app into /Applications.

Signed with a Developer ID certificate and notarized by Apple, so it opens normally — no right-click → Open, no "unidentified developer" warning.

Then click the menubar mic icon, pick your microphone under Pinned input device, and click Open at login.

  • Requirements: macOS 13 Ventura or later. Universal — Apple silicon and Intel.
  • Permissions: none. MicPin never opens an audio stream, only reads and sets CoreAudio device properties, so macOS never prompts for microphone access.

Notes

  • Event-driven via CoreAudio device notifications rather than a polling loop, so it costs nothing while idle.
  • Pause pinning from the menu when you genuinely want a different mic.
  • Unplugging the pinned device hands control back to macOS; MicPin only intervenes when the device it holds is actually available.
  • CLI: --status, --register-login-item, --unregister-login-item.
  • Zoom, Teams and Google Meet remember their own input device independently of the system default — MicPin cannot influence those.