Jump to content

Pandora caching on OS X


kinch

Recommended Posts

Hi all,

Sorry for posting a new topic for this. (It didn't seem appropriate on the main disc. thread...and I did read all 73 pages!)

I'm trying my very best, but I've been unable to figure out darn near anything about what Pandora's doing on OSX. Most of what I've read I'm either too dim to get anything from or it is no longer correct. Mostly the former. :P

The only way I've found to successfully rip a song is by accessing the URLs in the Activity monitor of Safari (URLs that, I think, are targets of the HTTP GET requests..?)

However, I thought that the files were cashed in a /tmp folder locally somewhere, but I can't seem to find any folder anywhere on my machine that's storing the cached files. I've also heard that they're named WebKitPlugInStream or that they're names are composed of a long string of digits. I've tried showing invisible files and searching using the strings of digits referenced int he GET request URLs, but that doesn't seem to work.

According to several posters (and the Noobs guide), the script pandora.sh should be executible...but I can't even get that to work. I'm running JRE 1.4.2 I think. I thought that I might need 1.5.X, but I can't seem to find a download of it that doesn't require 10.4 (I'm running 10.3.9 still).

Has anybody written a, uh.."For Noobs so Nubbish they can't even yet be described as a 'Noob'" guide to getting any method working in OSX?

Even just the cache folder location would be great. Any help is truly appreciated.

Link to comment
Share on other sites

- I don't know where OSX stores the file, but it should be easy to spot it. Not that many 2MB+ files in your temp folder I would presume? On Linux the folder is /tmp or /tmp/plugtmp

- Note that Flash version 9 and up won't store the file before playing it. I don't know what version Flash for Mac is at.

- You need JRE 1.5 to run Pandora's Jar. I'm reworking the source to bring that down to 1.4 (primarily because I'm not particularly familiar or interested in 1.5 just yet). If this frightens you: The 1.5 JVM will run the resulting app just fine.

- A zipfile doesn't contain the file mode bits that UNIX platforms use, so it uses defaults that tend to not include the executable bit for security reasons. To make the script executable, run 'chmod +x pandora.sh'. You should now be able to just start the file.

- There's the Noob's Guide thread, but it's geared towards Windows. Maybe we'll make it for other platforms aswell later, but right now there are other tasks to perform here that I deem more pressing. If you write up something for OSX, I'd be happy to see it posted to the Noob's Guide thread.

Link to comment
Share on other sites

I've been playing around with Pandora's Jar on OS X also, and I've figured out most of the things you have issues with.

I don't know what version of Flash is used in OS X, but the most current version saves the files to ~/Library/Caches/TemporaryItems, where ~/ stands for your home directory. The items stored on your computer by Pandora are respectively named plugtmp1-1, plugtmp1-2, etc. To play them, just copy the files from that folder and append .mp3 to them.

To get the script file to work, open up the Terminal program (by default located at /Applications/Utilities/) and, browse to the directory where you unzipped Pandora's Jar (and downloaded the script file)- you can review unix commands on Google, yet you use the cd command to change directories -

for me, I type:

cd ~/Desktop/pandora

Then to run the script file, type:

sh pandora.sh

This guide assumes that you have already modified the file to work on your computer. To do that, open it up using a text editor (I use pico), and change the port number to whatever port you want to use ( I use 8086), change the file address to correspond to where the pandora.jar files is, and then save it.

Here are the commands in Terminal if you were using pico and keep your script file in the same place I keep mine.

pico ~/Desktop/pandora/pandora.sh

Edit the file

Type: Ctrl^O to save, and hit ENTER.

Link to comment
Share on other sites

Thanks for the detailed replies! I really appreciate it.

I'm running Flash player 9, which is the default installation packaged with 10.4.8. I'm not sure if that's the reason or not, but I don't have a TemporaryItems directory in the Cache folder (nor anywhere else on the machine). Also no files with plugtmp in the name.

In the other thread, somebody mentions needing to downgrade to Flash 8. V9 doesn't cache but streams instead? Any idea if this could be the problem?

Link to comment
Share on other sites

It seems that everywhere Pandora runs the filename used to store the mp3 is something that starts with plugtmp, so try this while you have Pandora running:

find / -iname plugtmp*

It should search your entire directory structure and list any file whose name starts with plugtmp in a case-insensitive way.

Link to comment
Share on other sites

Thanks, Cooper.

Unfortunately, I'm still having trouble.

First, (please excuse my raw, pure, unfiltered noobishness) I'm not familiar with that command line and my terminal window just returned a whole bunch of file paths with ":Permission denied" appended. Do I need to log in a certain way to gain admin access? Maybe as root user?

I tried the "locate" and "mdfind" comands for plugtmp* and found no results. I found other files I was expecting to find, but neither the TemporaryItems nor plugtmp names.

Lastly, there isn't a version of Flash 8 for Intel-based macs, but of the 5 macs I have, only one has 10.4.X which appears to be the min. sysreqs for J2SE 1.5.X. And that one is the only intel-based mac. So I may need to find a way to get 10.4 on a PPC machine to get both Flash 8 and 1.5.X at the same time. (If this is even part of the problem)

Link to comment
Share on other sites

my terminal window just returned a whole bunch of file paths with ":Permission denied" appended
The find program searches *EVERYTHING*, which includes trying to access directories you're not allowed to look into, resulting in the above message. To suppress that, append '2>/dev/null' to the command.
I tried the "locate" and "mdfind" comands for plugtmp* and found no results.
Start the pandora applet, wait for a song to start playing, then run 'updatedb' as root. This will update the database that the 'locate' command references. Once the updatedb command is done, try finding the file again using locate.

I'm not familiar with the 'mdfind' command...

I found other files I was expecting to find, but neither the TemporaryItems nor plugtmp names.
I fear this is primarily because you're using Flash 9. It's simply not storing the file to begin with.
Lastly, there isn't a version of Flash 8 for Intel-based macs,
BZZZZRT! Wrong. Try here:

http://www.macromedia.com/go/2dda3d81 (in the note of point 2)

Macromedia provided this as a preview release mostly. It's not been as thoroughly tested as their regular product. Keep that in mind when you use this software.

of the 5 macs I have, only one has 10.4.X which appears to be the min. sysreqs for J2SE 1.5.X. And that one is the only intel-based mac. So I may need to find a way to get 10.4 on a PPC machine to get both Flash 8 and 1.5.X at the same time. (If this is even part of the problem)
I'm betting more on the problem being Flash9. The JVM version thing is being dealt with.
Link to comment
Share on other sites

  • 2 weeks later...

Another Mac Noob here, and figured I'd keep the Mac info in the same thread.. I can't even get Pandora...

OSX 10.4.8, PPC

Firefox 2.0

Flash 9

Biggest problem is I cannot even get Pandora to play music (the applet doesn't seem to load like it does on my WinXP/IE laptop.

I get the text, the Minimize and Backstage buttons, but no music player.

As for the java app.. I can launch that (the text is chopped on the left side), and get to the page on localhost:8085, play with my settings, but nothing in the songtrack section, tho I'm guessing the top of this post is my real problem.

Very comfortable at the command line with any ideas to try.

EDIT: I can get pandora and the jar to run under Safari, tho the console dump seems to indicate the jar wants to be run under Firefox?

EDIT2: The error console in FF says : No chrome package registered for chrome://flashblock/content/flash.xml . altho I do not show any flashblock installed under the Tools->Add-ons...

EDIT3: Fast user switching to a 2nd (clean) acct, Pandora loads fine... I cannot fid any trace of flashblock in my profile so that I can remove it... :(

EDIT4: I forcibly removed the chrome and extensions folders/files in my Firefox directory and now Pandora is working, as is the jar.. and I'm to the point where the mp3 grab is failing :) but its progress....

EDIT5: I have downgraded to Flash 8 (http://www.adobe.com/support/flashplayer/downloads.html#FP8).. and now find plugtmp in $HOME/Library/Caches/TemporaryItems/.. so I could copy the mp3s manually now.. searching the forum to understand how I make this automatic to get named/tagged?

Thanks,

Mike

Link to comment
Share on other sites

Ok, enuf edits.. thought I'd move to a new post... making constant baby steps...

when I sh pandora.sh I get

pandora.sh: line 12: syntax error: unexpected end of file

looks like you need to cd to the Pandora directory (in Terminal) and

dos2unix pandora.sh (it has DOS end of lines, not unix versions)

alas this is not included by default in Mac OS X.. easiest is rename (use mv) the distributed script, then use whatever TEXT editor you want (pico, vi), and paste the lines from the original pandora.sh file into this new file and save it as pandora.sh

mp3s are now being stored in my Pandora/mp3 folder :)

Mike

Link to comment
Share on other sites

Great! Mac users! :)

Could you do me a favor and say a bit more specifically where on the system both Firefox and Safari store their temporary internet files? The next Pandora's Jar is intended to be a wee bit more cross-platform capable and work off of the pandora server response to get the file so you can use any Flash version you like.

But for that to work I need to find where your browser(s) store their temporary internet files (for FF & friends it's a directory called "Cache").

Stripping the dos EOLs from the .sh file is best done by opening the file using "vi -b <file>". It will show you the extra character, allowing you to delete it.

Link to comment
Share on other sites

Firefox (at least with Flash 8) is

/Users/username/Library/Caches/TemporaryItems/

I have not been able to track down any plugtmp file with Safari, then again, I'm not clear which version of Flash Safari is using (is there an easy way to tell.. after the Flash 8 downgrade, it kicked me to a page at Adobe? that showed me my version.. but I'm not finding that page in my browser history...)

Also, from what I'm seeing, the Artist & Song are getting into the ID3 tags, but not the album name?

Mike

Link to comment
Share on other sites

Firefox (at least with Flash 8) is

/Users/username/Library/Caches/TemporaryItems/

I have not been able to track down any plugtmp file with Safari, then again, I'm not clear which version of Flash Safari is using (is there an easy way to tell.. after the Flash 8 downgrade, it kicked me to a page at Adobe? that showed me my version.. but I'm not finding that page in my browser history...)

Also, from what I'm seeing, the Artist & Song are getting into the ID3 tags, but not the album name?

Mike

To be a bit more technical, you need to treat Mac as a *nix clone. The path you're looking for is: ~/Library/Caches/TemporaryItems/ trying to fetch the username of a mac user in javascript won't be easy if he doesn't have one to experiment on, so use ~ for the /Users/username portion and it'll point you to the right spot every time.

Link to comment
Share on other sites

  • 1 month later...

Mac users should grab this Firefox extension:

http://www.sephiroth.it/weblog/archives/20...her_for_osx.php

and make sure to select flash v.8.0 r27.

Then it should work fine as long as you use the pandora.sh OR set your $TEMP manually. That's the real key - if $TEMP is not set, it's a bust.

Flash v.9 seems to either disable the plugin's temporary storage of the mp3 or hides it somewhere other than the default ~/Library/Caches/TemporaryItems...

Link to comment
Share on other sites

  • 2 weeks later...

Ok. I am getting close now. I used the flash switcher, now I can see the temp files stored in the plugTmp directory, but they are not being copied for some reason. The file is never copied to pandorasJarTmp.mp3 nor from there to the mp3 directory. Here is the log, any thoughts?:

DEBUG [Thread-2] (Mp3Processor.java:45) - file integrity check complete

INFO [Thread-2] (Mp3Processor.java:192) - copying file[/users/james/Library/Caches/TemporaryItems/plugtmp/4459159601267254025] to temp[/users/james/Library/Caches/TemporaryItems/plugtmp/pandorasJarTmpFile.mp3]

I never see pandorasJarTmpFile.mp3

WARN [Thread-2] (ProcessAction.java:82) - unable to save img - albumImgLoc: songInfo: SongInfo{album='null', artist='Keane', title='This Is The Last Time', trackNumber='null', year='null', lable='null', genre='null', station='null', notag_md5='a6b7e7fbc84a455476419601390126a5'}

INFO [Thread-2] (Mp3Processor.java:206) - adding ID3 tags: SongInfo{album='null', artist='Keane', title='This Is The Last Time', trackNumber='null', year='null', lable='null', genre='null', station='null', notag_md5='a6b7e7fbc84a455476419601390126a5'}

INFO [Thread-2] (Mp3Processor.java:222) - setting MD5 tag to a6b7e7fbc84a455476419601390126a5

DEBUG [Thread-2] (ProcessAction.java:87) - cruise on - dealing with file manually

INFO [Thread-2] (ProcessAction.java:90) - Moving current mp3 to folder

INFO [Thread-2] (SongDataMD5DB.java:95) - For MD5: a6b7e7fbc84a455476419601390126a5 Best entry: null

INFO [Thread-2] (SongDataMD5DB.java:97) - Results 'isBest'=true

INFO [Thread-2] (SongDataMD5DB.java:148) - New MD5 DB Entry: a6b7e7fbc84a455476419601390126a5,Keane:This Is The Last Time

INFO [Thread-2] (Util.java:103) - SongInfo{album='null', artist='Keane', title='This Is The Last Time', trackNumber='null', year='null', lable='null', genre='null', station='null', notag_md5='a6b7e7fbc84a455476419601390126a5'}

INFO [Thread-2] (Util.java:111) - Archive path from properties: null

INFO [Thread-2] (Mp3Processor.java:192) - copying file[/users/james/Library/Caches/TemporaryItems/plugtmp/pandorasJarTmpFile.mp3] to temp[/users/James/Documents/Downloads/pandora/mp3/UNKNOWN STATION/Keane/UNKNOWN ALBUM/Keane-This Is The Last Time.mp3]

INFO [Thread-2] (Server.java:112) - unable to rip MP3

java.io.FileNotFoundException: mp3/UNKNOWN STATION/Keane/UNKNOWN ALBUM/Keane-This Is The Last Time.mp3 (No such file or directory)

at java.io.FileOutputStream.open(Native Method)

at java.io.FileOutputStream.<init>(FileOutputStream.java:179)

at java.io.FileOutputStream.<init>(FileOutputStream.java:131)

at util.Mp3Processor.copyFile(Mp3Processor.java:194)

at util.Mp3Processor.saveMP3(Mp3Processor.java:289)

at servlet.ProcessAction.handleMP3Request(ProcessAction.java:91)

at server.Server.handleHTTPRequest(Server.java:110)

at server.Server.run(Server.java:83)

INFO [Thread-2] (Server.java:42) - unable to rip MP3 mp3/UNKNOWN STATION/Keane/UNKNOWN ALBUM/Keane-This Is The Last Time.mp3 (No such file or directory)

Link to comment
Share on other sites

  • 1 month later...

I can find the plugtmp file in ~/Library/Caches/TemporaryItems/ when pandora is running

using the provided pandora.sh file and executing it using "sh pandora.sh

**********************************************************

#!/bin/bash

port=$1

if [ ! $port ]; then

port=8086

fi

export TEMP=`echo ~`/Library/Caches/TemporaryItems

java -jar pandora.jar $port&

# make sure java has enough time to launch

sleep 5

osascript -e "tell application "Firefox"" -e "Get URL "http://localhost:$port"" -e "end tell"

****************************************************************

i get this error

pandora.sh: line 12: syntax error: unexpected end of file

:(

i can change directory to ~/desktop/pandora and run java -jar pandora.jar 8086&

and get it to run pandora ripper in localhost:8086, but it doesn't rip mp3s and i can't figure out how to make it look in the right directory.

either how do i tell pandora.jar where to look or how do i make my .sh file not suck?

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