Cool, yeah. Would love if you contributed that. So off the top of my head we would want to get all output sinks and display them in the GUI and, when the user switches, detect the number of channels they support and live configure to that. We would need to update the null sink, sample_spec struct, and latency. This would live in equalizer/pretty.c so that's a good place to poke around.
Email me at kevin@segfault.fun if you have any questions. The pulseaudio C API can be a bit... opaque :)