There's no $HOME/.asoundrc on any of my systems, yet I'd like to use "plug:dmix" with Wine, e.g. on systems with PulseAudio installed. I can use speaker-test -Dplug:dmix with no trouble. Will your patch make that appear in the list?
The devices that I can add to the list can be seen in output of "aplay -L". But I did not add devices with a colon in the title, because most of them are useless without extra "plug:" wrapper. I can add a wrapper "plug:" in front of them, but I think it's wrong. To be able to use your plug:dmix you can create .asoundrc, that contain: =-=-=-=-= pcm.dmixed { type plug slave { pcm "dmix" } } =-=-=-=-= Or something like this. And then you will see your device enumerated.
Avoiding snd_pcm_open is important. Right now, we already have tests that fail randomly because unfriendly devices like PulseAudio cling to the underlying resource ("hw:0") for a couple of seconds, preventing Wine from inspecting it (bug #28048), causing Wine IIRC to eliminate "hw:0" from the list of available devices. :-( That is not satisfying at all. Perhaps one easy shoot at it would be to access "default" last? That's still much like crossing fingers.
Seems like it is PulseAudio trouble much more than WINE or ALSA... In any case I don't like PulseAudio, and I don't use it.