Jump to content

PandoraSaver


ZigZagJoe

Recommended Posts

ZZJ,

I'll commit to a $5 donation to PandoraSaver if you add the Pandora One MP3 compatible option.

How about the rest of you?

Peter

Yep, me too. Count me in for $5 as well. Currently it gives an error (something like "error: Pandora is requesting a 64kbps mp3 file") when trying to save the music in high-quality mode.

Link to comment
Share on other sites

  • Replies 484
  • Created
  • Last Reply

Top Posters In This Topic

Yep, me too. Count me in for $5 as well. Currently it gives an error (something like "error: Pandora is requesting a 64kbps mp3 file") when trying to save the music in high-quality mode.

Have you tried the new one?

Anyways,

I've started work on a completely new codebase, which will definitely support pandora one.

Stuff of note:

Multicore encoding (not for a single song, encoder limitation, but if there is more than one song pending encoding on a multiple core machine it will run up to nrCores worth of encoder processes)

Support new music services without re-writing an entire new plugin- use a unified blacklist/song queue/encoding queue/etc. Settings too

"Upgrade" feature, where if it finds that a song already exists, but the song pending ripping is higher quality, it will replace the old one (probably for mp3s only, as it would be a pain to reencode into aac/wma/otherwise and it would break existing playlists if it did)

I won't strangle myself looking at the code anymore

Most pandorasaver features will be ported over (given time).

Of course, it's still in very basic alpha stages. But it's coming.

I plan to release the source to the current one when i get this to a stage ready for release (supports most of the core pandora features). A warning, it's ugly. Main source file is 74kb in size.

Assuming my computer doesn't off itself. Had the main data HDD (with all my pandora music :( , anime, etc) die and possibly another. Luckily I don't have code on that hdd.

Link to comment
Share on other sites

Re: ripping of high-quality 192kbps MP3 files

Hopefully you can get enough donations to upgrade your personal Pandora account to the Paid Service and try the high-quality setting for yourself. I just sent you $5 via PayPal, hopefully other people will pitch in also. I'll send you another $5 when you post a working version. BTW, it works great on the low-quality setting. You're The Man!!!

Link to comment
Share on other sites

Okay, I tried the new June 24th version and it seems to work perfectly with Pandora's high-quality 192kbps MP3 format. Turbo Mode doesn't work, but I think you already mentioned that. You're awesome! I'm sending you another $5. I look forward to future versions! Is this the official thread for this program, or is there some other official thread or website? If I come back 6 months from now wondering if there's a new version, is this where I look?

Link to comment
Share on other sites

Okay, I tried the new June 24th version and it seems to work perfectly with Pandora's high-quality 192kbps MP3 format. Turbo Mode doesn't work, but I think you already mentioned that. You're awesome! I'm sending you another $5. I look forward to future versions! Is this the official thread for this program, or is there some other official thread or website? If I come back 6 months from now wondering if there's a new version, is this where I look?

This is the "official" thread, yeah... no real site at the moment though. I had kinda hoped to finish renovating my site before this went so far, ol.

Link to comment
Share on other sites

Sorry for the lack of response, I'm a bit busy with RL at the moment. But I am working on it. (Saver 2 to be exact).

As part of saver2 will be a template class which can be inherited (for someone to make their own ripping plugin). It contains the logic which allows saver2 to recognize a plugin loaded as sproxy as a saver-plugin (which may submit music to it) and allow for saver to query the plugin for information and pass on events.

The general concept is fairly simple, the plugin will override a method called (subject to change) SniffMusic which is called with a session object, the plugin figures out if it song data or what not if it is creates a SongInfo object, saves the data to a temp folder, puts in at minimum the artist and title, and then passes it to coresaver.

The plugin will need to keep track of its own metadata and attach it to song data, but from there core saver handles it (blacklisting, approval by user, re-encoding, etc etc etc). Nice and modular. It will even complete the song data via gracenote or cddb or something and fill in missing fields.

Song data format does not matter, as long as mplayer can play it it can be converted. Otherwise, it will be saved in the native format (flv containing mp3 will be extracted, however.)

Additional functionality currently allowed for is a custom status report, custom unload, onsongripped (called when a song sniffed by the plugin is approved and processed), setup menu to allow custom menu items, support for a custom menu (DoConfig), and web RPCs.

A log function is also available (void Log (string stuff)) which puts stuff into sproxy's log prepended with the plugin which called it.

In short, it'll be a lot easier (compared to how it is now) to write plugins which rip stuff. Of course, I'm going to update pandora, grooveshark, and deezer for this, and likely implement slacker.

Link to comment
Share on other sites

An update on things.

Just had Saver2 rip its first song earlier. Still got a bit to do, though.

Misc. Now portable-friendly, as it does not use system temporary folder at all.

To Do:

Implement encoderworker

Implement song fader as a seperate class

Ripping selection dialog (pick which songs to save, port from ps)

status page song downloading

Pandora: tuner

Pandora: tuner web rpc

Pandora: configuration

Logo

Tray icon

Done:

Pandora: playlist saving

Pandora: turbo

Pandora song sniffing

FLV de-encapsulation

Song processing

Add %exinf% tag

Config form controls

Plugin template

Web Download RPC

All AArt Handling

Pandora: Save XMLRPCs

Configuration form

Song Handling

On Hold:

Port pandorasaver blacklist class

Whitelisting

Find service to auto-complete with

Pandora: javascript songplayed notification (only would help in a few cases... maybe later)

Other:

Log viewer form for SProxy (from pandorasaver)

Revised settings class.

Link to comment
Share on other sites

To-Do updated.

At the moment, blacklisting is going to be indefinitely delayed unless specifically requested. Simply put, I don't like the implementation of it but I can't spare the time to sort it in a way that will satisfy me. I'll probably get it sorted sometime, but it will not be in the initial release.

I'm not sure if i'm going to do tray icon immediately or not. Depends if i can find some sort of icon. lol

I'm wondering, would people find some sort of notification a song is pending ripping and/or was ripped automatically? Say, a tray popup?

Probably going to open-source the Savers at very minimum (the plugins which talk to CoreSaver, the main bit) cos people might be able to benefit from implementation stuff within. Coresaver on the other hand just contains the glue that handles the other bits - not nearly as important. SProxy will stay closed source for the conceivable future, though i plan to expose the bits of the plugin interface needed to implement plugins.

Turbo now ported and working successfully with Pandora One.

Stuff that needs to be re-evaluated:

Upgrade mode. If not the same type, then references get broken when the old file is replaced (i have 12k or so aacplus pandora songs, and now that i have pandora one, i'd like to convert those to the higher quality mp3. however, if it just blindly replaces songs, then any playlists that refer to that file will be broken. also, pandora's playlist creation would then proceed to insert the song a second time...

Link to comment
Share on other sites

  • 2 weeks later...

As promised, here is the source: http://zzj.itf-inc.com/s2/misc/PSFinalSrc.zip You'll need to change the build path, but otherwise it should be good.

Saver.cs is under no specific license, as i was not the original author (heavily modified or not, it was still based off of it). The pandora logo(s) are property of Pandora Media, inc. SProxy.exe is © 2009 ZZJ.

Feel free to use code from Utility.cs, as it has bits which may be useful. I'd appreciate a credit if you do, however.

Yes, it's ugly.

Saver2 has more or less obsoleted this and binaries will be pulled when it reaches feature-parity. Already, features such as turbo surpass this.

Link to comment
Share on other sites

  • 3 weeks later...

I don't know if this is the right place to ask this, but... I'm having a bit of trouble with simpleproxy. It seems to have screwed up the proxy settings for everything - there are about 12 programs that won't connect to the internet unless simpleproxy is running now. This wouldn't be a problem, except that one of these is VisualStudio 2008, which i use to develop websites... the problem is, most sites won't allow remote connection through a proxy, but since visual studio won't connect at all without the proxy, i'm pretty much screwed...

any help would be appreciated, but if i've posted in the wrong place just smack me and i'll go post somewhere else ;D (i would've looked for a thread about this but i've got a total of 12 minutes with the computer right now, sorry)

Link to comment
Share on other sites

I don't know if this is the right place to ask this, but... I'm having a bit of trouble with simpleproxy. It seems to have screwed up the proxy settings for everything - there are about 12 programs that won't connect to the internet unless simpleproxy is running now. This wouldn't be a problem, except that one of these is VisualStudio 2008, which i use to develop websites... the problem is, most sites won't allow remote connection through a proxy, but since visual studio won't connect at all without the proxy, i'm pretty much screwed...

any help would be appreciated, but if i've posted in the wrong place just smack me and i'll go post somewhere else ;D (i would've looked for a thread about this but i've got a total of 12 minutes with the computer right now, sorry)

close sproxy, go to IE settings, uncheck use proxy, then go about your business. it'll get stuck like that if you close sproxy harshly (task kill, etc). I

I recommend you use http://hak5.org/forums/index.php?showtopic=13598 instead of this, however, as PS (1) is frankly a bit of a kludge. Also, you can turn off the setting of IE proxies in sproxy 1.1 used by saver2 (s2 is not compatible with 1.0 nor is PS compatible with 1.1)

Link to comment
Share on other sites

close sproxy, go to IE settings, uncheck use proxy, then go about your business. it'll get stuck like that if you close sproxy harshly (task kill, etc). I

I recommend you use http://hak5.org/forums/index.php?showtopic=13598 instead of this, however, as PS (1) is frankly a bit of a kludge. Also, you can turn off the setting of IE proxies in sproxy 1.1 used by saver2 (s2 is not compatible with 1.0 nor is PS compatible with 1.1)

This is not always a result of closing SProxy harshly. Some programs, Visual Studio for example, do not like having this proxy for whatever reason. I have had the same issue with VS and a few others. Somewhere in this thread I mentioned this, but the solution if you want to keep using SProxy and VS etc at the same time is to check the box that says "Bypass proxy for local addresses"

Link to comment
Share on other sites

Thanks for this great program! I really like it compared to others, its sooo much easier to use and has alot more features...

I would just like to point out that from what iv'e found, if your someone that is limited to the 40 hours, you can use the turbo download mode and it doesn't use your 40 hours faster then 40 real hours... it seems to be about the same even though your getting like a few songs every minute or so

edit:

After running it for 12+ hours overnight on turbo download mode, i noticed that its only used aprx 4 hours according to pandora...

Link to comment
Share on other sites

iv'e been getting an error like this quite abit recently:

Error: System.NullReferenceException

PandoraSaver made an oopsie.

System.NullReferenceException: Object reference not set to an instance of an object.

at PandoraSaver.ID3.Save(String filename, String sourceFile) in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 452

at PandoraSaver.ID3.Save() in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 401

at PandoraSaver.Saver.HandlePendingSessions() in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 401

iv'e restarted pandorasaver more then once this seems to mainly happen when its on turbo mode and theres ~250 .dat files in the mp3 folder.

Sometimes it happens to all the files in the qeune (200+), sometimes just one...

Link to comment
Share on other sites

iv'e been getting an error like this quite abit recently:

Error: System.NullReferenceException

PandoraSaver made an oopsie.

System.NullReferenceException: Object reference not set to an instance of an object.

at PandoraSaver.ID3.Save(String filename, String sourceFile) in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 452

at PandoraSaver.ID3.Save() in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 401

at PandoraSaver.Saver.HandlePendingSessions() in C:\documents and settings\zigzagjoe\desktop\pandorasaver\new\src\ID3.cs:line 401

iv'e restarted pandorasaver more then once this seems to mainly happen when its on turbo mode and theres ~250 .dat files in the mp3 folder.

Sometimes it happens to all the files in the qeune (200+), sometimes just one...

are you using re-encoding? otherwise, i really don't know why this is happening.

I'd recommend you move to S2 unless you specifically need features i've not implemented in S2 yet (see http://hak5.org/forums/index.php?showtopic=13598)

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

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

Guest
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...