Jump to content

www.pandora.com new hack Working


jang

Recommended Posts

I made a small program in AutoitV3 for anyone interested. I'm not responsible

for anything you do with it. If you want the source just install autoit and decompile.

As of now it works much like the other one. You need Pandora open, Firefox (tested) or anything else really (I think)

It checks for Pandora in the title.

During my tests Pandora only used Local SettingsTempplugtmp-10 so it's default, and for now it copies the music to your desktop renamed.

Close the program (in tray) before exiting Pandora, or it may create one or two error files.

It only copies the first music after it's cached so wait a while.

Anyone is free to modify it.

Oh and it's supossed to let you pause and skip... but don't skip or you may get incomplete files because the file ins't fully cached.

Also only open 1 "Pandora in title" window.

Previous version http://rapidshare.de/files/19548603/Pandora.zip.html

Latest version

http://rapidshare.de/files/20088946/Pandoraultimo.zip.html

Link to comment
Share on other sites

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

You must have rightclicked the trayicon I think.

just leftclick it should work.

Also I don't know where the files are saved in internet explorer, so it's firefox only.

New version It checks for the included config.ini for the dir to save.

If not found it will save to your desktop

It also tries to find a plugtmp* dir to work with (doesn't matter the name).

If you have problems delete this folders from the cache and run pandora etc again.

Link to comment
Share on other sites

I've made a couple of changes, and I'm just going to post the source so we can all collaborate.

Changes:

- Added sleep in main loop so it doesn't peg the processor. Checking the title every 5 second should be sufficient.

- Added "access" to plugdir checks. I have a number of "plugdirs" but only one was for Pandora.

; ----------------------------------------------------------------------------

;

; AutoIt Version: 3.1.0

; Author:         Jang

;

; Script Function:

;    Get Pandora mp3s

;

; ----------------------------------------------------------------------------



; Define get partial title match and Wait for downloading

AutoItSetOption("WinTitleMatchMode", 2)

; Get the handle of a Firefox window that contains "Pandora" in title

$handle = WinGetHandle("Pandora")

If @error Then

    MsgBox(4096, "Error", "Could not find the correct window")

Else

;Define Bogus Tile

Global $title = "nothing"



$tempdir1 = @UserProfileDir & "Local SettingsTempplugtmp"

$tempdir2 = @UserProfileDir & "Local SettingsTempplugtmp-"

$increment = 1



; Check which plugtemp exists

; Change by CygnusTM

While Not FileExists ($tempdir1 & "access")

    While Not FileExists ($tempdir2 & $increment & "access")

; End change

        $increment = $increment + 1

    WEnd

    $tempdir1 = $tempdir2 & $increment

WEnd



;Used later

Global $number = 1

Global $notspecified = $tempdir1 & "access-"

Global $previous = $tempdir1 & "access"

Global $next = $notspecified & $number

Global $saveto = IniRead(@ScriptDir & "config.ini", "SaveTo", "dir", @UserProfileDir & "Desktop")



If FileExists ($saveto) Then

Else

    DirCreate ($saveto)

EndIf



while 1=1

; Change by CygnusTM

    sleep(5000)

; End change

;MsgBox(0, "caixa", "while")

    While $title<>WinGetTitle($handle)

        If "(Paused)"=StringLeft(WinGetTitle($handle), 8) OR "Pandora -"=StringLeft(WinGetTitle($handle), 9) OR "Mozilla"=StringLeft(WinGetTitle($handle), 7) Then

        Else

    ;MsgBox(0, "caixa", "whilenot")

    ;Get the window Title

        $title=WinGetTitle($handle)

    ;Isolate the music Title from the rest

        $array = StringSplit($title, " - P",1)

        $titlefinal = $array[1]

        $stop = 1

        While $stop=1

        ;MsgBox(0, "caixa", "whilestop")

            If FileExists ($next) Then

            ;MsgBox(0, "caixa", "seexiste" & $next)

                $Previous =  $next

                $number = $number + 1

                $next = $notspecified & $number

            Else

            ;MsgBox(0, "caixa", "achou")

                $stop = 0

                If FileExists ($previous) Then

                    If $previous<>$tempdir1 & "access" Then

                        FileCopy($previous, $saveto & $titlefinal & ".mp3")

                    Else

                        $stop2 = 1

                        While $stop2=1

                            If FileExists($next) Then

                                $stop2 = 0

                            EndIf

                        WEnd

                        FileCopy($previous, $saveto & $titlefinal & ".mp3")

                    EndIf

                Else

                    MsgBox(4096, "Error", "Could not find the music")

                EndIf

            EndIf

        WEnd

        EndIf

    WEnd

WEnd

EndIf

Link to comment
Share on other sites

Yeah I forgot the Sleep part, and I didn't know about the access function so thanks. Edit: duh lol I thought it was a function to check if the folder was being used by another program. But your fix is great.

I'll upload the script with your version, but I don't think there's a need, because I don't have many comments. As for pjo, It probably found the wrong plugtmp folder. Deleting these folders from .../username/local settings/temp and then running Pandora should work. I'll post the new modified version for you, sould be fixed.

Link to comment
Share on other sites

Hi,

Your script works great but I had to change a thing so it could work with my "Temp" folder as i changed it during install.

So you might consider changing this:

$tempdir1 = @UserProfileDir & "Local SettingsTempplugtmp"

$tempdir2 = @UserProfileDir & "Local SettingsTempplugtmp-"

[/code]

to:

$tempdir1 = EnvGet("temp") & "plugtmp"

$tempdir2 = EnvGet("temp") & "plugtmp-"

The "EnvGet("temp")" declaration is just going to read the path directly from Windows.

Just my 2 cents to your script.

I also noticed a problem: if you run the program after you've been listening to Pandora.com for a while, the script won't catch up with the already "in the plugtmp directory" songs. So what is happening is the script only generate a single song named pandora with no IDtags and doesn't creates the following currently playing song.

I'm not talking about trying to IDTag the old songs in the plugtmp directory but to generate the IDTags for the new songs.

Don't know if I make myself clear??? :(

Anyway, thanks for your program.

Link to comment
Share on other sites

The program can be improved a lot, for example

Your fix.

Recognize the last access file created and start counting from that one.

Wait for the creation of the next access file, and only then copy the current (prevents incomplete files), like I have for the first file.

If a music is skipped delete that song (Don't have any idea how to do this). Autoclose, after that window handle closes.

Integrate with a program like MusicBrainz Tagger to Tag the files in the folder (Didn't even see if it accepts parameters).

After 5 hours send a click to pandora to say you are listening :-)

That said, the idea was everyone who wants to improve it, do so and upload the modified exe and an info with the changes. If working and not breaking other features, then keep it as the latest major version.

Oh and feel free to do the changes above.

Link to comment
Share on other sites

I may do the features above, but my ISP limits my monthly traffic so I won't be using Pandora that much.

And if you find out where Internet Explorer is saving the Plugtmp (i didn't search it) make it work Cross-Browser :-)

Edit

Latest version now goes directly to Temp as suggested, auto closes when the window containing pandora is closed and only saves every file after it starts caching the next music, in theory will prevent incomplete files, but you may not save the current playing song at the time you exit.

Link to comment
Share on other sites

I am currently coding an application which is called iPandora, and does what the hack normally does, plus it'll have other features.

The alpha I will release will have simple functionality. As I progress more functionality will be added for example:

- Check whether the song is paused

- Format the information in the filename with things such as %artist% %title% %length% %bitrate%

I shall be releasing at http://ipandora.codingproject.com I will have a website with instructions and other information. Please remember it will be an ALPHA release, and I appreciate all bugs, preferable a way to recreate the bug and a screenshot.

I need to get back to coding :)

Link to comment
Share on other sites

I am currently coding an application which is called iPandora, and does what the hack normally does, plus it'll have other features.

I'm glad. I'm not a programmer and I only did this because the other hack wasn't working for me.

Now, I have requests :D , make the mini player run from inside an *.exe like a standalone player while still saving the music to wherever. Much like the DesktopX Professional from Stardock implements.

Make it delete the music if you skip it.

Make it copy a already archived music to the temp folder to save bandwith.

I think that's it for now :-)

Link to comment
Share on other sites

TomB I like how you're going at this. I like the look of the 3tunes site. I've been wanting to tackle something like this but I just started a new job and have no time. Keep us up to date on your project. Well I guess i'll just keep checking your site.

Link to comment
Share on other sites

Well, presumably you're periodically checking the title bar to see if a new track is playing, right?

So, get the length of the track from the MP3 file. If the title bar text changes before (length_of_track - 2 * title_bar_check_interval) seconds have passed, the user skipped a track.

Link to comment
Share on other sites

I'm having problems with the program naming songs in an 'off-by-one' fashion ... it incorrectly names the currently playing song as the previous song.

ie

SongA plays ...

SongB starts playing ...

I get SongB saved as SongA.mp3

Is anyone else having this problem? Is Pandora pre-downloading the next song in the queue now so that it is one ahead of the player?

:?:

Link to comment
Share on other sites

Didn't want to start a new thread as its a related question so I hope no one minds me putting it here.

I can't register for Pandora.com as I am not in the USA , can I just make up a zip code or does it check against existing zip codes and what are the legalities of me doing this?

Link to comment
Share on other sites

Sounds like something you should be asking them. Particularly when it comes to the legality of it all, this is stuff they should've thought about already.

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.

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