Jump to content

New version of Pandora?


Recommended Posts

where's my damned StationID field and MP3 tag config already?

And here ends the misunderstanding, the end of this sub-thread, and the beginning of my unruly demands. Now obey! :twisted: Please? :D

Right here:


Now before all you people go out and download it to replace it with whatever you've got going already: DON'T

This stuff has been poorly tested. Ever since I managed to get the callback from the flash applet going again I have been unable to repeat that and as a result I've been unable to even modestly test the front-end side of things.

As far as I can tell, the auto-grabbing just doesn't work.

If anything I would consider this a developers-only release. It's being called 'alpha' for a reason. It's a full rewrite of the original program, and a lot of the goodness that was in there isn't in this one yet. Stuff like:

- Registerring tracks to Last.FM (as I'm not getting the notification that a track has played)

- ITunes integration (I don't have ITunes).

On the flip side, it's a lot more flexible when it comes to directory paths, filenames, all that stuff. The comments tag thing is in aswell.

I dropped most of the external dependencies. There are now 2 jars for XML parsing and 1 for ID3 tagging, and that's it. All output goes to the client screen which will get filled from the top so you don't have to scroll down all the time to see if something happened, and entries are timestamped (not sure if they were before).

I moved the directory from where the webserver will spit out files into its own, separate subdir. The contents of this dir is checked before the server is started, and only the files that were found at that time will be available to the client via the webserver.

Each function (grab the tracks, retrieve the version, etc) has its own class with the intent to cleanly isolate that particular bit of functionality.

For the grabbing, I've switched this version over to going by that XML request that Pandora Unleashed is using aswell. So you can basically use it in combination with *ANY* browser that stores its browser history sanely (I'll get to that in a sec) and can run the Pandora applet. This extends to the OS aswell, as this should work nicely with Linux, Mac and the BSD family as well as the obvious Windows.

*EVERY* method in *EVERY* class has JavaDoc comments. If I missed something, let me know. I consider missing or incorrect comments a bug.

Java 1.4 and up is required. This used to be 1.5 which isn't available yet for all platforms in a usable way. Of course a 1.5 JVM has no issues running a 1.4 package so don't worry about having to downgrade or anything. It'll just work... To the extent that this program currently works. :)

Mozilla-based browser support is a tad flakey. When your installation of a Mozilla-based browser stores the Pandora XML in a separate file, it will work. When it embeds the Pandora XML in its _CACHE_XXX_ files, you're in trouble. I've left the code of my attempts to decipher the format in the archive, but it's a snakepit, and I never managed to get it to work.

Version information comes from the build.default.xml file. That is the *ONLY* place that houses this information.

Support for proxy servers (when grabbing files or song info).

Additional track data (album, publisher, release year) is taken from Pandora's own website. I'm also grabbing the album art URL, but didn't include the downloading of it yet. This would be a nice option to add.

The URLs to be called have changed. It used to be a simple /process call to which you add an action of the actual action you want to see performed. That has been changed so that each function to call has its own url. /process?action=grab has become /process/grab?param1=x...

I think I edited the javascript stuff to account for this, and calling /process/grab manually does result in the scanning for the XML and grabbing any MP3s it finds in the most recent one it encounters.

And of course:

The pandora station. I've got the ID stored in the TrackData, but I haven't yet found a way to take that, ship it to Pandora and get a station name back. I've seen an XML in the browser cache that contains the name for the station, but I didn't feel like adding a scan for that aswell. I would prefer a simple lookup on a server to get the station name. It is after all what the Pandora client itself is doing...

I think I've taken it as far as I can without being actually able to test it.

Tomorrow I'm going to upload the sources to the online Subversion repository that Blizz has made available. I've recently gotten my account info so that should be fun. Patches and/or changes to the code are very much welcomed, but please using something like the pastebin to prevent the forum from becomeing a huge mess of code snippets.

Oh, and if you want to yell at me in disappointment, that's okay too.

Won't help much, but if it makes you feel better...

Link to comment
Share on other sites

  • Replies 128
  • Created
  • Last Reply

Top Posters In This Topic

Cooper, you're so great, man! :-)

I have been waiting for a new PJ release for weeks now, as I don't understand anything about that other plugin-thing they're talking about in the forum and this Unleashed-proggi re-downloads the files which causes extra-bandwidth on the pandora-servers. Thank you so much, I will test it now!


oh, I just re-read that one part... So you're just re-downloading the files just as this Unleashed-thing is doing? hmmm...

P.P.S. downloadlink not working! ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...