waydabber / BetterDisplay

Unlock your displays on your Mac! Flexible HiDPI scaling, XDR/HDR extra brightness, virtual screens, DDC control, extra dimming, PIP/streaming, EDID override and lots more!
https://betterdisplay.pro
20.9k stars 366 forks source link

Associate an audio device with a display group #3723

Open towerofnix opened 2 days ago

towerofnix commented 2 days ago

This is a feature request for the "Groups" feature of BetterDisplay!

I make extensive use of Loopback to make my audio devices (mostly external) work for me. It works great, but inevitably means I have a whole bunch of both physical and virtual audio devices, and picking options out of the control center or menu bar "sound" pull-down (or within Loopback, or within Audio MIDI Setup...) is a bit of a pain in the butt.

Sound pull-down in menu bar, with a lot of somewhat similarly named devices

(I usually have like 3 or 4 devices more than shown above. LOL)

BetterDisplay offers Groups which look like they would work perfectly for me, because they let me set up a bunch of configurations that automatically (and exclusively) enact based on the plugged-in displays. Super handy!

But there's no option to automatically select a particular audio device as my primary output, when using this. That means I'm stuck with default macOS behavior, which doesn't do much to help with swapping between virtual audio devices, or using another app, which I haven't found the time to hunt for.

Plz? If this is in-scope? 🙏 Thank you for considering!!


In particular, my personal use-case is:

  1. Have a display group ("group A"), with first priority, which activates based on the presence of my external monitor and my MacBook Air.
  2. Have a display group ("group B"), with middle priority, which activates based on the presence of my external monitor.
  3. Have a display group ("group C"), with least priority, which activates based on the presence of my MacBook Air.
  4. In group B (monitor only), output audio through a Loopback virtual device — it outputs to my monitor (which in turn has an aux cable to my speakers) and lets me control its "pass-thru" volume with my volume buttons. (The monitor doesn't have DDC volume-control support.)
  5. In Group A (monitor + MBA), output audio through a Loopback virtual device, which sends all channels through both my monitor (ext. speakers) and the MBA built-in speakers. (I like a tiny bit of very fake surround.)
  6. In Group C (MBA only), output audio directly through the MBA's built-in speakers.

I am able to perform all the switching above manually, of course, and doing so gets my audio working how I like it... but it's annoying, and I think BetterDisplay groups would integrate what I want automatically and perfectly!

waydabber commented 2 days ago

So this should be a feature under Groups that switches the audio input to a specific one (based on audio device name) when a group is being activated, right?

towerofnix commented 2 days ago

The audio output rather than input, but yes! (Actually, you should be able to control both, so you can automatically choose the appropriate mic for your setup if you want, too.)