Why not use only ALSA API. There is alsa to jack
plugin. If
someone wants use jack it can be used to route audio to
jack. Also there are alsa <-> OSS driver plugins. This
means you can output sound from alsa app to oss driver or
capture from alsa driver without any source change.
As soon as the card cannot do hardwaremixing, it is blocked
for all other applications. So I personally think it is a bad
design if a single application wants to access the ALSA
device directly and exclusively.
As for the soundservers: If a soundserver grabs the ALSA
device it is blocked. Therefore (in an optimal world) the
soundserver should be the central instance for any audio
application.
Big prob: There still isn't the one and only central
soundserver instance, but havin one would be wonderful in
terms of usability and audio straighforwardness.
Best regards
ce