Danny, it would be very, very good to have runtime sound system selection for xfce4-mixer on Linux in Xfce 4.4.0. Unfortunately, there's the sound system inconsistency on Linux, and this is a mess for distributors and users if the applications cannot do runtime detection/selection here (we worked around this for Xfld, using two different mixer backend packages, ALSA and OSS, but thats really hacky). While you are at that, you could probably improve the Sound system backend API, probably using a GInterface, since I had quite some trouble to understand how the system works for the solaris mixer.
I had it with runtime sound selection, if you remember :) therefore all those lists and vc_register and alsa_register etcetc... one just needs to call vc_select to switch :) (ok the gui part was missing) (and of course rewrite the configure part to accept multiple sound systems with --with-sound :) feel free to help me with that on head hehehe) and, arent GInterface overkill for ~3 real functions ? :)
also, the libxfce4mixer.so.0.0.0 is a .so file so you can just replace it by the right one. No need for replacing of the entire package, just replace that one file :) (it is fully encapsulated - and if not, that is a bug :))
runtime sound system selection will also change mcs device and control lists, ugh... thus need to make settings names/paths contain the soundsystem name ...
we could also make a extra package with the vc stuff in ... like xfce4-sound-lib :) but I guess that would be _real_ overkill and there are many people who think splitting into many small packages are evil (especially those who have a crap package management system :)) (my opinion is that splitting into many small packages is a blessing - at least for programming and debugging :))
That's basicly what I do with the debian packages atm: There's an alsa package that contains the alsa module and an oss package that contains the oss module, but conflict with each other. But this is problematic with installations, since users complain that the mixer isn't working, because they use OSS (and the default module is ALSA), or vice versa (yes, ALSA OSS emulation does *NOT* work in many cases). So a runtime selection would be the right way to go for Linux. Concerning GInterface overkill: Doing something right(TM) is never overkill. ;-)
The more time passes, the less I want to bother with this. If the distro set something up wrong, it's it's own fault. And I'm not putting gibberish options into the gui ("ALSA", "OSS"). I don't add hidden options. Whoever wants to switch sound systems, has to replace the one .so file (shock horror :)). No way I will ever put something like that into the GUI or a config file. The way you do it with the debian packages is the right way (tm) :)