• You've been granted Beta access to this site, allowing you to explore some of the new features while they're still under construction. More information can be found in the Beta forum.

Winamp Control

-=Xjk=-

Member
Here is a very nice WEB interface to control Winamp thru a network / over internet / PDA

its free and still in development stage so may have some bugs but the interface looks real nice and ive personally been using it for 5 months it works perfect for my needs maybe its something you could use also.......

www.browseamp.com

Enjoy
 

drozwood90

Senior Member
thanks! That's some great software, will be playing with this myself soon.

Dan,

Since you use Homeseer, I can set you up with my Whole House Audio Software I wrote. I have up to 20 zones of code setup. And you just associate a group of X10 commands with events, which fires a script that can control up to 20 Winamp instances simultaneously. Then you just use Winamp for the HTML interface. I use the KR22A. Then you have power, stop, play/pause, FF, REW, VOL Up, VOL down, and shuffle. The dim buttons do nothing, unless you hit a volume button first (doesn't matter which). Then you can "dim" the volume up and down.

I personally use calls to Rover links on a custom webpage to control my 8th zone (which is Shoutcast). The other zones are around the house.

--Dan
 

electron

Administrator
Staff member
This topic was bumped by a spammer (my post was made in 2004), but I wouldn't mind more details about that setup, sounds pretty interesting.
 

drozwood90

Senior Member
Wow, didn't realize that (I didn't see the dates).

Well, I was looking at all the different whole house audio systems out there...and at the time I had the time to create things.

So, I did. Instead of spending $300/zone, I made my own.

You get one USB soundcard per zone. I personally just run that out to PC speakers (through Cat5). The speakers are setup in the "zone" you want them to be in. You can hook that into an amplifier if you want.

Anyway, I can get away with this, as Winamp can be started with the command line flag /class=ZoneName

Then, I found some code online, that I modified (there are a bit more elegant solutions out there at this point, however 3-4 years ago, this was "cutting edge"). I made 1 .exe per classname. Each exe looks to "hook" into a specific classname, then pass proper "sendmessage" commands to that instance. Then I Setup Homeseer to have "sets" of X10 commands, execute a script, which does all the heavy lifting.

If there are special things that need to happen during say, a powerup, they can be executed in the script. For instance, more times then not, I needed to turn a UPB module on to apply the local power to the PC speakers. OR in the case of controlling the Audrey, I had to launch Phjuke. In the case of shoutcast, nothing extra happens during a powerup. Finally that Zone's Winamp gets loaded.

My wife loves it, as I made a webpage that parses all the playlists that are on the server, then displays them. You choose the zone you are in, choose the playlist, then turn the zone on, the playlist plays. If you want to change the playlist, repeat. The HS script takes a value from the "ev.misc" (I think that's it's name...but it's the note field in HS) and launches Winamp with the proper classname and playlist when "powered up."

The parsing the playlists is dynamic, so she can add playlists at will, and they will show up on the server. I recently added "subdirectories". This allows us to group our playlists (i.e. I have MY playlists, Holiday playlists, etc.). There is also a separate webpage that creates the proper events to allow HS to run Winamp. One last webpage allows you to view any playlist that shows.

Overall, I'm pretty impressed with it. I mean, it's not every day that I come up with such a "huge" system level "thing".

Finally, since I re-installed HS recently, I didn't want to recreate all the "control devices" for the 8 zones. So, if you run the script with the flag "install" all the status devices and I think events are created for you (it was a pain, as you had to make 10 events and 8 devices for each zone).

So, one script, three webpages and my custom .exe files and this thing rocks and rolls. Next goal, right now, is to make the playlists editable through the web. Right now, you have to make them in Winamp and copy/move them to the playlist directory. Deleting should be easy enough (I'm doing that right now in another webpage for a tasklist). Adding should also be easy (again, tasklist webpage). But, at this point in my life, it's a matter of finding the time!

I figure, now that the software is done, my total cost per zone is about $10ish ($3 for the USB audio card and the cost of speakers / wire).

--Dan
 

electron

Administrator
Staff member
Very impressive! Did you figure out a way of redirecting TTS output to all USB soundcards as well?
 

drozwood90

Senior Member
Yes and no.

If you use the HS speaker client (multiple instances), you can do exactly what you are saying. You can't record from each client though. Only one at a time. Also, even on the "same" machine, they can get a little out of sync if you send the same audio to all the speaker clients at the same time. So, I was thinking about using something that Pete_c uses to "send" audio to specific cards. My hope is for a true whole house announcement, that is at the same time...but that's probably not too necessary for me, as only 2 zones overlap. The others are separate enough that having the audio be a BIT out of sync doesn't matter.

My issue was with USB sound cards, they swap around on each boot. BUT, if you hack up the driver, you can give each one an individual name.

So, for the Speakerclient, it will always hook onto the same "name". This fixes that. What it does not fix is Winamp. With a LARGE (more then 2) number of USB sound cards, they keep the same NAME (by the hack method), but Winamp uses the sound card NUMBER (which can change) at each boot. To fix this, I asked Jon Ort to take a look at his speaker volume program. It has the ability to tell me what speaker number goes with what name.

I asked him to add a commandline flag that will report that list. With this list, you can add a script that is run the first time HS is started. Then go into the winamp.ini file and change the sound card number to go with the appropriate Name. Seems easy enough...but Jon has not gotten back to me as of yet. I have on my calendar to e-mail him asking about any updates by the end of this month.

He was holding back because the PURPOSE of his program is to easily control volume. I don't need that...just the list...so maybe I can get him to release me a custom spin from his code...just to get the list.

--Dan
 

drozwood90

Senior Member
Yes and no.

If you use the HS speaker client (multiple instances), you can do exactly what you are saying. You can't record from each client though. Only one at a time. Also, even on the "same" machine, they can get a little out of sync if you send the same audio to all the speaker clients at the same time. So, I was thinking about using something that Pete_c uses to "send" audio to specific cards. My hope is for a true whole house announcement, that is at the same time...but that's probably not too necessary for me, as only 2 zones overlap. The others are separate enough that having the audio be a BIT out of sync doesn't matter.

My issue was with USB sound cards, they swap around on each boot. BUT, if you hack up the driver, you can give each one an individual name.

So, for the Speakerclient, it will always hook onto the same "name". This fixes that. What it does not fix is Winamp. With a LARGE (more then 2) number of USB sound cards, they keep the same NAME (by the hack method), but Winamp uses the sound card NUMBER (which can change) at each boot. To fix this, I asked Jon Ort to take a look at his speaker volume program. It has the ability to tell me what speaker number goes with what name.

I asked him to add a commandline flag that will report that list. With this list, you can add a script that is run the first time HS is started. Then go into the winamp.ini file and change the sound card number to go with the appropriate Name. Seems easy enough...but Jon has not gotten back to me as of yet. I have on my calendar to e-mail him asking about any updates by the end of this month.

He was holding back because the PURPOSE of his program is to easily control volume. I don't need that...just the list...so maybe I can get him to release me a custom spin from his code...just to get the list.

--Dan


Nothing like quoting yourself...

I just found a tool that:
1) reports what I want...hopefully it will also correlate the "number" that it has to the same number that Winamp appears to use
2) if not, the source came with the tool, so I should be able to make some sense of it and make my own tool (so I don't have to wait on Jon to add the command line flag)

So, after these two hacks, looks like I can do whole house audio...per zone, no issues of "swapping" USB sound cards any longer.

One last thing, I found another tool (while perusing around looking for the above tool), which SHOULD output to all soundcards at the same time...so maybe I can use that instead of the HS Broadcast for whole house announcements...or to play one Winamp, and have it output to all cards at the same time.

--Dan
 

electron

Administrator
Staff member
Sounds promising, keep us posted! Guess it's time to get a few more cheap USB soundcards.
 

drozwood90

Senior Member
When I finish this up, I'll try to do a tutorial of some sort (there were a multitude of challenges, that I think a lot of people might want to know about).

--Dan
 

drozwood90

Senior Member
Dan,

Do you want me to e-mail you the tutorial like last time? That is, when I finish it?

The tool I was using works for determining WHICH sound card "number" corresponds with which zone.

So, I can NOW configure multiple Speaking clients under HS, configure zoned audio, and upon each reset have HS reset each Winamp to play music through the proper Sound card.

I can include my Zone Script, and I think (I'll have to check the license) I can include my Zone interface .exe files.

The Zone script has an install now, so it will create EVERYTHING for the user for 8 zones. Then, if you follow the How-To on HS's board, on how to change around the Drivers to get "Zoned" Names, everything else falls into place.

--Dan (not Electron)
 
Top