But I'd like to know more about the way you have implemented the Virtual Audio Cables and do you have the radio going through an input?
I've setup 6 VACs (Virtual Audio Cables) and each of my "sources" (except the line-in) outputs it's audio to one of these cables. For example, the sources Music Player 1, Music Player 2 and Radio are instances of WinAmp that output to VAC1, VAC2, and VAC3. The other sources will be ZoomPlayer and TheaterTek (I haven't gotten there yet).
So the screen to control my MP1 is basicly a normal music screen (the one from Colby's BlueSkin2 in my case) and where the xlobby zone is set to "Music Player 1". It then plays the music to the VAC1.
In my zone control screen, I toggle MP1 (the process behind it in fairly simple..each button has an ON and OFF state and I use a script to set all the other sources to OFF when I select one of them. I also save a variable as to which source is selected in the process) then I can toggle which zones play that source.
To control my zones, I was planning at first to use WinAmp instances and the Line-In plugin, but instead I opted for Audio Repeaters that come with Virtual Audio Cable. These allow you to connect different inputs to different outputs. In my case, I can connect a VAC to an output of my soundcard. Originally, these Audio Repeaters couldn't be ran from the command line, but I asked the author to add that functionality and he did! (Quite quickly I might add). So now, to toggle a Zone, once I selected a source, it's a simple matter of clicking on the button, which runs a script that launches an Audio Repeater that connects the appropriate source (from the variable I mentioned earlier) to the output of my sound card that corresponds to that zone.
In your case, you might be able to adapt my ideas if you were able to control your preamp remotely. So instead of using Virtual Audio Cables and Audio Repeaters, your preamp would be in charge of the connections
To answer your question regarding the Radio, I'm using the fm radio tuner that is included with my Radeaon AIW 2006 PCI-E. I could have used an external tuner, plug it to the line-in and control it remotly, but since I have an onboard tuner, might as well use that