As far as I can tell, the only thing that Winamp handles better than MC is streaming output. MC handles listening to internet streams just fine, but has no built-in support for broadcasting a stream.
With Winamp, you just use the Shoutcast plug-in and connect to a Shoutcast server (either one running locally or a publically-accessible one). You automatically get metadata transmitted, and you just hear the music (not any other sounds that your PC's sound card might be producing). Works a treat.
Unfortunately the rest of Winamp pales in comparison to MC. I really want to use MC but also broadcast an internet stream. What to do?
Well, after a bunch of searching here, I found a number of ways to attack the problem. Here's the flow I've settled on:
- use MC to play music to the audio card on a local PC
- Use Oddcast to stream my audio card output to a local Shoutcast server
- use xpTunes to make a webpage on the local PC with the necessary metadata
- configure Oddcast to read the metadata from that webpage
- connect to the Shoutcast server from a remote streaming media player (e.g. Roku Soundbridge, Winamp, etc.)
Here's a brief rundown. It's probably not complete but will give you some hints:
1) Download the Shoutcast server here:
http://www.shoutcast.com/download/serve.phtml (you don't need the Winamp plug-in, just the server)
2) Install the Shoutcast server (follow the directions on the page above...the only thing that's a bit tricky is knowing that
the Shoutcast server requires a password for Oddcast to connect...you can see/change this in C:\Program Files\SHOUTcast\sc_serv.ini)
3) Run the Shoutcast server (C:\Program Files\SHOUTcast\sc_serv.exe), probably the install put a shortcut on your desktop or in the Start menu. I don't remember now whether this was automatic.
3) Download the Oddcast v3 (standalone version) here:
http://www.oddsock.org/tools/oddcastv3/4) Install it. Note that you'll get notices that you need an mp3 encoder (lame_enc.dll) and maybe another encoder. Just ignore these right now.
5) Download lame_enc.dll from here:
http://www.level-1.org.uk/lame_enc.dll, and put it into the Oddcast directory (probably C:\Program Files\OddcastV3).
6) Run Oddcast, and double-click on the encoder listed under "Encoder Settings". The only things you really need to do are to set (under Basic Settings) the Encoder Type to "MP3 Lame", the Server Type to "Shoutcast", the Server IP to "localhost", the Server Port and Encoder Password to match whatever is in the Shoutcast configuration. By default the Server Port is 8000. Under YP Settings, uncheck "Public Server".
7) Click on the Connect button, you should see Oddcast connect to your Shoutcast server (if you look in its log window) and you should see the encoder change from "disconnected" to reporting some transfer rate
8. Make sure that you've got "Stereo Mix" selected in Oddcast. Click on the Peak Meter and set the volume level appropriately so you're not clipping.
Now you can connect to the Shoutcast server with your favorite streaming client. If this stuff is running on IP address 192.168.0.100 and the Shoutcast server port is 8000, you can just connect to
http://192.168.0.100:8000 with your streaming client (in my case, a Roku Soundbridge).
You should now be hearing music, but with no good metadata. This is where it starts getting more tricky. You need some way to get the metadata into the stream. I use xpTunes to control MC remotely via a web browser, but I think it's still in beta. One feature of xpTunes is that it can dynamically update a web page with info about the currently-playing track. I set up a very simple webpage which just reports the track title, artist, album, and track #. Click on "Edit" next to Metadata in Oddcast, then select the URL radio button and type in the url of the xpTunes webpage (in my case,
http://192.168.0.100/miniplaying.html, but you can set this up however you like).
Oddcast can scrape the metadata from any file or a window title, so there are probably other ways to get the metadata in.
So now I can listen to whatever my Media Center PC (a headless server in the basement) is playing on its audio card through my Roku Soundbridge. The Soundbridge shows the relevant metadata. I can manage the playlist from my laptop in xpTunes, or just let MC play in Radio Mode.
You may be asking, why go to all this trouble? Why not just move the dang PC that's running Media Center upstairs and put it next to the stereo? That's a good question. The answer is that I don't want the dang PC and its necessary infrastructure next to the stereo. It sits downstairs out of the way, usually hooked up to an FM transmitter. That way I can play the same music anywhere in the house during a party, with no annoying lag between zones. Allright, you say, but if I'm using an FM transmitter, why the Soundbridge nonsense? Also a good question. Two answers. First, the FM transmitter sounds lousy. It's fine for a party but not if I want to actually listen to music. Second, I can still stream this to the Roku during a party, and it will show me what the FM transmitter is playing (even if I'm not actually listening to the Roku stream, but listening to the FM instead).
Good luck! Once this is all done, you can just connect with any streaming media player and listen away! The downside is that you'll hear whatever is playing on the PC running MC/Oddcast/Shoutcast. Not a problem for me because it's a dedicated media server PC. But something to keep in mind if you set this up on a multi-use machine.