Specific sound car per application?

I have two sound cards in my computer. OpenSuSE 11.3 recognizes them both without a problem, and I can play sound through each of them. Is it possible to set one application to use one sound card simultaneously with another sound card routing to a different application? That would be sweet. For example, I have my surround speakers plugged into one sound card, so I can provide music for the whole room, and have my PC speakers next to the monitor playing a movie.

This is depending on the application. mplayer for example is able to specify a device and maybe vlc, too.
Have a look at the mplayer options: MPlayer(1) manual page
As you can see the option is called

-ao

and you can start mplayer with the first soundcard as output like this:

mplayer -ao alsa:/dev/audio

You could try using PulseAudio (in KDE desktop it’s by default disabled, in GNOME it should be on). It can even change the routing dynamically during playback (i.e. so you can switch from headphones to 5.1 and back while playing a movie), and you can have per application volume settings etc. Quite interesting…

(I have never used it actually, but I saw a nice presentaion about it at the openSUSEConference…)