Shell Volume Mixer is an extension for GNOME Shell allowing separate configuration of PulseAudio devices and output switches. It features a profile switcher to quickly switch between pinned profiles and devices.
Middle mouse click on an indicator or a slider mutes the selected stream.
Indicators and streams are also scrollable,
$ make
That's it. Add the resulting archive via GNOME Tweak Tool (extensions tab) or copy it's content manually to ".~/.local/share/gnome-shell/extensions/shell-volume-mixer@derhofbauer.at".
GNOME Settings Daemon (GSD) hardcodes the step for each key press of volume keys to 6% of maximum. While this might be OK for most people, some would prefer a configurable setting. There's a bug in GNOME's tracker which, according to the comments by developers, won't ever get fixed in a way that could allow configurable volume steps[1].
Shell Volume Mixer tried to grab GSD's hotkeys to provide configurable steps for sliders and media keys in the past, but at some point this stopped working.
GNOME's current solution to the problem is Shift + Key, i.e. hold down the shift button to switch to a 2% step.
This is a fork of AdvancedVolumeMixer by Harry Karvonen (git://repo.or.cz/AdvancedVolumeMixer.git). Many thanks go out to him for his initial work.