Posts Tagged Winamp

Let’s take a dive into XCode and Objective-C!

So, I’m diving into the pool!

I recently purchased a MacBook Pro for the sole purpose of developing software for the Mac/iPhone platform. It’s completely unknown to me and currently the XCode IDE looks nothing if not completely confusing compared to the friently intuitive interface of Microsoft Visual Studio that I’m used to ;)

What brought me to this point? Well, two things.

First, I’ve been wanting to dive into Objective-C for a little over a year now and started dabbling with it a while back on my old G4 Powerbook. I was impressed with the coolness of it, but being that I was developing on a G4 Powerbook, I was limited as by this time Apple had begun the mass migration to Intel based systems.

Second is that I want to develop applications for the iPhone. Not to make a mint or anything, more or less because I think I have some good ideas on programs people would use. Like how Apple provided the iTunes controller, well, hows about a WWWinamp controller for the iPhone? Perhaps one that lets you search your library locally on the iPhone without even connecting to WWWinamp?

I started down this path because there’s currently a program for sale on the iTunes App Store that lets you control your instance of WinAmp remotely… for $4.99!!! What the crap?! I was floored that the author would expect that kinda money for a program when there are PLENTY of other FREE alternatives out on the web (like WinAmp Remote, AjaxAmp or WWWinamp). I made it my mission to release a comparable program ;)

It’s just going to take a month or so to ramp up on the new IDE and learn how to do SOAP calls and whatnot. Should be a fun adventure though! My wife begins the final semester of her Teaching Credential program in a couple weeks, so I’ll have four nights a week alone to myself to nerd out and gorge on Hot Pockets! ;)

I have another version of WWWinamp in the works as well. This is basically some code modernization for sections that I wrote over a year ago. Updating things to use Generic Methods and whatnot. You know, fun .NET stuff ;)

Cheers! :)

, , , , , , , ,

No Comments

WWWinamp V4.2 Build 2991

We’ll call this the “foot in mouth” build when it comes to removing the “beta” tag, but live and learn! :)

Again, thanks to ‘dawolf’ for reporting several defects within WWWinamp that were included in the previous build (4990), but have been corrected. I suggest all users upgrade to this latest build to avoid any system performance issues :)

Changes in this version include:

  • Fixed 100% CPU utilization issue in WinAmp Handle Update code
  • Fixed issue when starting WWWinamp without an instance of WinAmp Running
  • Minor Bug Fixes

I actually didn’t notice the 100% CPU bug when testing the previous version because the loop was in a single thread, and only my quad core rig it only showed up at 25% system utilization which didn’t strike me as odd for my system while developing. So my apologies for missing that! :D

WWWinamp v4.2 Build 2991Download (56k)

,

2 Comments

WWWinamp v4.2 Build 2990

Well, after about a week of off and on work the latest version of WWWinamp is ready!

I’ve taken the “beta” tag off of it as it seems the recode of the HTTP request processing seemed to work without issue and no bugs were reported (other than the ‘paging’ issue, which really was a defect in the script parser).

Changes for this version are:

  • [HTTP] Daemon will now start if a WinAmp instance is not found
  • [HTTP] Able to specify max number of HTTP threads to process (Default 25)
  • [Script Parser] Fixed “Paging” issue when searching through the Libary
  • [Script Parser] Script Files (*.wwa) will be run from the same folder as the file requesting them
  • WinAmp Handles will be updated if a new instance is detected

Be sure to use the latest config file included with this release as it has a new key value, WWWinamp.HTTP.ListeningThreads, which tells the HTTP daemon how many threads to use max. This is set to 25 by default if no key is found, but it will throw an error. So if you don’t want to use the packaged configuration file because you’ve hacked together your own, you can manually add this key with any value you’d like.

This value isn’t a huge addition but it can help maintain system stability under heavy load. This way WWWinamp won’t spin up an infinite amount of threads if there’s heavy resource contention or there’s a problem that is causing threads to hang.

Also, the other ‘fixes’ were requests made by  ‘dawolf’ here in my blog so I suggest more people get involved and we can make WWWinamp better!

In addition, if you’ve made your own skin and want to share it, please feel free to contact me and I can post it here to my blog for others to use.

As for future releases, they may be a little slow in the coming month. I’m going to be diving into the iPhone SDK and Objective-C programming using XCode on my Apple. I think a remote media interface would be totally awsome if I can have a native WWWinamp application on the iPhone talk to the WWWinamp server using WCF/SOAP. It’d be way easier than using the webkit crap and I could make it have a lot more functionality (perhaps tuning in to a shoutcast stream VIA the iPhone?). Anyways, just thought I’d give you guys a little bit of information on that.

Cheers! :)

WWWinamp v4.2 Build 2990Download (56k)

, , ,

2 Comments

WWWinamp v4.2 Build 2953 (Beta) and an iPhone Compatible Skin!

Here you are as promised!

Along with a quick bug fix version of WWWinamp, I’m also releasing an iPhone compatible skin for WWWinamp! This skin will make controlling your copy of Winamp from an iPhone quick and easy! A big thanks to the guys over at Google and Joe Hewitt for providing such a great set of iPhone web functions in their iUI interface library for the iPhone. Made development very quick and easy so I suggest anyone interested in iPhone Web Development hop over and give this great collection of JavaScript and CSS functions a look!

Of course, controlling WWWinamp from a mobile device is nothing new as I’m sure most of you have been using the default skin through the iPhone/iPod Touch Web Browser anyways, but this will give your copy of WWWinamp a more ‘iPhone-ish’ feel :) This of course is in addition to the already existing mobile skin which I developed for use with my Nokia 6682 :)

The new build of WWWinamp is just a quick bug fix to handle some strange socket behavior caused by Safari trying to switch between Edge and a WiFi connection when trying to access a private IP (such as 10.0.0.1). Previously it would have caused an unhandled exception and WWWinamp would just bite the dust. This has now been fixed and it can gracefully handle Safari’s connectivity issues :)

Please keep in mind this is the first version of the iPhone skin and it’s still a work in progress. There are currently several features still missing (playlist re-order, and a few others). To use the iPhone skin you must set ALL commands usable by guest, as I haven’t incorporated admin login functionality yet. You can do this in your WWWINAMP.CONFIG file by setting all the commands under the WWWinamp.HTTP.Commands namespace to “true”. Be warned that this will open all functionality of your WWWinamp instance to all users, so be careful if you’re using this on a publicly visible instance of WWWinamp!

I’ve also added an icon so when you add it to your home screen using the new bookmarking functionality in iPhone firmware v1.1.3, it’ll display a cool little WWWinamp icon rather than a screen shot. :)

I look forward to your feedback!

WWWinamp v4.2 Build 2953 (Beta) – Download (56k)

WWWinamp iPhone Skin v1.0Download (39k)

, ,

14 Comments