If an element does not control some channels assume they are 0dB in
comparison to the other elements, i.e. do not influence the volume at
all. Previously we were assuming they were as high as the highest of the
channels we do control.
We need to make sure that having both input and output weighs more for
selecting the default profile than a channel map that matches the
default channel map has.
https://bugzilla.redhat.com/show_bug.cgi?id=496320
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.
This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".
The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.