A bit of a SHOUT

on Tuesday, August 08, 2006
So there was I, coding happily along, without a care in the world, when it hits me.

Well, it didn't hit me, it more of skipped me. I mean, not me. The music. It skipped. Aargh. Focus lost, damn stupid tracks, winamp what's the matter with you?!

Ok, so I get my mp3 off the TeraStation. The TeraStation is very nice, very lovely, very cute RAID-5 network-attached data storage (note the marketing speek - ain't it nice) box looking thingie all in silver. It does data. Huge amounts of it. Over the network. That's about all it does, really, but it's enough. I have my collection stored away in there, so I don't have to fill up my disk space with it. Whenever I want to, I listen from it.

The problem, ya see, is that I'm getting my music fix over a vpn, seeing as the Tera is at one location, and I'm on another. And that makes my music skip. Aaargh.

Determined to get rid of the annoying skippies, I went and got the SHOUTCast server and DSP plugin for winamp (over at Nullsoft). Because winamp doesn't do buffering on it's own, ya see (as far as I can tell). So this is what I did:

1. Get the server running. Easy enough, just, well, run it :p No extra configurations required, it listens on the 8000 port by default. You can change it in the ini, or not.

2. Load up your selection of music on winamp.

3. Configure the DSP plugin on winamp. Just fill in the name of the server (localhost), and the port. When you're done, connect. Don't close that window yet.

4. Start playing the list. The plugin properties window should start showing bytes sent, and the shoutcast server window
should acknowledge the connection.

Easy enough. Now I'm getting music from my Tera over at the other location and streaming it to the shoutcast server. And I can hear it playing. But wait, what I'm hearing is the unbuffered thing, before it gets to the server... no good :p

What I need is to have one winamp sending to the server, and another one getting it form the server. No problem... I just open another winamp, right? (clicking on the Options-Allow Multiple instances first, of course. Duh). Second winamp opened, add url localhost:8000, play...

Now this is nice... now I'm hearing *2* versions of the music. One is unbuffered, the other buffered. LOL

Ok, chuckles aside, how do I get rid of the unbuffered one? Hmmm... Could I turn the volume down on that winamp? Nope, that turns both down (what fun!)

The answer was just another search away... just redirect the Output of the first winamp to the Null Output plugin. Wohoo, no more confusing echoes of music, the unbuffered winamp is sending it's output to the dev/null graveyard. Nice...

So now I can go back to my happy, buffered coding world. Groovy.

PS: you can close that window now...