| Crates.io | soundstoic |
| lib.rs | soundstoic |
| version | 0.1.0 |
| created_at | 2026-01-05 18:51:46.84413+00 |
| updated_at | 2026-01-05 18:51:46.84413+00 |
| description | macOS menu bar agent that locks the default input device using Core Audio HAL listeners |
| homepage | |
| repository | https://github.com/Eastonn/soundstoic |
| max_upload_size | |
| id | 2024361 |
| size | 57,111 |
Menu bar agent that pins the system default input device to a user-selected mic using Core Audio HAL property listeners (no polling).
cargo build
cargo run
You should see a menu bar icon (mic). If the icon is unavailable, it falls back to the "MicLock" title.
The toggle uses SMAppService (macOS 13+). It requires a bundled app with a valid bundle identifier.
When running from cargo run, Start at Login will not persist across reboots.
If you want this to work in practice:
resources/Info.plist.Config is stored here:
~/Library/Application Support/soundstoic/config.json
Fields:
lock_enabled: true/falselocked_uid: string or nullstart_at_login: true/falseTo reset, delete the file and relaunch the app.
No input devices listed:
App crashes on launch:
No mic permission prompt:
resources/Info.plist sets the app to be an agent (no Dock icon):
LSUIElement = trueCFBundleIdentifier should be changed from com.example.soundstoic before distributionmic as a template image.