Here’s a quick & dirty script to change the volume of all attached Airfoil speakers. Rather than incrementing by a set amount, this uses a multiplier to keep the perceived change constant. It’s nicer on the ears, and gives you more nuanced control when the stereo is set to a higher volume.
property volume_multiplier : 0.8 tell application "Airfoil" set all_speakers to (get every speaker) repeat with this_speaker in all_speakers set curr_volume to get volume of this_speaker set (volume of this_speaker) to (curr_volume * volume_multiplier) if (volume of this_speaker) is 0 then set (volume of this_speaker) to 0.1 end repeat end tell
I keep two copies of this script (“Airfoil Volume Down” and “Airfoil Volume Up”) bound to ⇧F10 and ⇧F11, respectively, to match the volume keys on my keyboard.
If I ever update them, I’ll do so over on Github.