GNOME Volume Control (again!):
And as I promised, I’d work on something that looks like Eugenia’s UI proposal: my implementation of something she proposed.
People seem to think the previous one is more intuitive.
Took me 90 minutes, which included a nice long coffee-and-peanuts break of one hour. This, my dear students, is why you learn object-oriented programming with code reuse. :).