Skip to content

pantafive/fader

Repository files navigation

Fader

CI Release License: MIT

A macOS menu bar app for audio output switching and per-app volume. Switch the output device in one click, connect Bluetooth headphones, set a separate volume for every app, and play audio to several devices at once. Site: fader.pantafive.dev.

Three overlapping Fader popovers: the output tab with audio devices, an app routed to two output devices with per-device volume, and Bluetooth headphones with Connect

No telemetry, no kernel extension, no virtual audio driver — the source is open, check for yourself. Requires macOS 15+ on Apple silicon.

Install

brew install --cask pantafive/tap/fader

Or download the latest dmg. The app updates itself.

Features

  • Output switching — headphones, speakers, displays, and AirPlay targets, one click each. Paired Bluetooth headphones connect from the same list.
  • Auto-switch — drag rows to rank devices; Fader follows the best one present.
  • Several outputs at once — drag a device onto the Output section and both play together, each with its own slider.
  • Per-app volume — a fader and mute for every app that plays sound; levels persist. Apps at full volume play untouched, bit-perfect.
  • Per-app output — drag one or more devices onto an app to play it through exactly those outputs, each with its own volume; everything else stays on your main output.
  • Microphone — switch the default input, set gain, and see which apps are listening.
  • In sync — system volume follows the volume keys and Control Center; scrolling over any slider adjusts it.

Permissions

Only per-app volume needs one: macOS gates audio taps behind the System Audio Recording permission, requested the first time you move an app's fader. The tapped audio never leaves the Mac.

Development

brew install xcodegen swiftlint swiftformat
make run

Swift 6, strict concurrency. The Xcode project is generated from project.yml — edit that, not the .xcodeproj. make drives local work: gen, build, test, lint, run, clean. Pushing a v* tag builds, signs, notarizes, and publishes a release.

Contributing

Bug reports and pull requests are welcome; for anything bigger than a fix, open an issue first. make test and make lint must pass; commits follow Conventional Commits. The real-time audio callback allows no allocation, locks, Objective-C, or logging — changes there get extra scrutiny. Anything that phones home will be declined.

Security

Report security issues privately via GitHub security advisories, not public issues.

License

MIT

About

Menu bar volume mixer for macOS: per-app volume, one-click audio output switching, Bluetooth headphone control. Free, native, no telemetry.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages