- Arc 100%
- Discord 34%
- Microsoft Teams 0%
- Music 78%
- Spotify 62%
- VLC 88%
It stays out of your audio path until you ask
At default volume MixBar creates nothing at all — no taps, no aggregate device, no presence between your apps and your speakers. An app enters the audio path only once its slider moves, and leaves the moment it goes back to 100%.
This is not a detail. An earlier version routed everything through the mixer and caused audible crackling system‑wide, even while mixing pure silence. There is no kernel extension, no virtual audio driver and no installer privileges anywhere in MixBar.
Three ways to see it
The same mixer, at three densities. Two apps or twenty, the panel is meant to be read at a glance and closed again.
Why it asks for microphone permission
macOS has no per‑app volume API. The only way to change one app's volume is to capture that app's audio and play it back yourself at a different level. Apple classifies reading another app's sound as recording, under the same umbrella as the microphone — so MixBar needs the Audio Recording permission, even though it never touches your microphone.
What it does with that access: it multiplies buffers by a gain, sums them, and writes them to your output device. Nothing is recorded, written to disk, or sent anywhere. There is no network code in the app at all. You do not have to take that on faith — read the mixer.
How it works
-
Find what's playing
Enumerate audio processes through Core Audio's process objects.
-
Group them by app
Browsers and Electron apps play through anonymous helpers, and there is more than one — mute the wrong helper and the sound simply moves to the next. One slider spans all of an app's processes.
-
Tap only what you adjusted
A private tap spanning that app's processes, marked muted‑when‑tapped so its own path to the speakers goes quiet and MixBar's gain becomes its volume.
-
Mix in one pass
The output device and every tap go into a single private aggregate device, and one realtime IOProc applies the gains and sums the result.
Where it's at
Working
- Per-app volume and mute
- Live meters
- Output device switching
- Settings remembered per app
- Helper-process grouping
Not yet
- Sleep and wake handling
- Launch at login
- Global hotkeys
- Per-app output routing
MixBar is pre‑1.0 and the second column is where the contributions would help most.