MacOS – Make volume buttons only control headphones

audiomacbook promacossound-volumesoundflower

I'm trying to use soundflower and co. to record desktop sound, but I'd like to be able to adjust the volume of my headphones simultaneously.

The volume buttons adjust soundflower if I set the system sound device to soundflower and use LineIn to PlayThru to the headphones (same problem with soundflowerbed), or the volume buttons don't work at all if I use an aggregate device.

What can I do to make the volume buttons control the headphones and not soundflower (which I always want to be at max)?

Best Answer

I did eventually get around to solving this using ControllerMate and Multi-Output Devices instead of LineIn.

Using Audio MIDI Setup I created a Multi-Output Device that outputs to both Soundflower and my headphones:

enter image description here

Now use this device for system-wide sound output.

Then using ControllerMate and an accompanying AppleScript I was able to 'bind' the volume buttons on the headphones (I use Apple's standard earphones) to controlling the headphone/speaker volume only:

enter image description here

(Apple Mikey HID driver is what ControllerMate calls the controller associated with the buttons on the headphones)

The AppleScript for lowering the volume:

set volume alert volume ((alert volume of (get volume settings)) - 100/16)
set volume (alert volume of (get volume settings))*7/100

and for increasing it:

set volume alert volume ((alert volume of (get volume settings)) + 100/16)
set volume (alert volume of (get volume settings))*7/100