GithubHelp home page GithubHelp logo

pypandora's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pypandora's Issues

endlessly downloads new songs

This has happened two mornings in a row now, approximately an hour or hour and a half after starting up in the morning. Every morning we have a bounce in place via cron for the RPC server that kicks off around 9AM. Now the last two mornings it's started doing that weird noise about 1-1.5 hours after starting up. That in itself isn't the weird part though, because generally a quick restart solves the issue. After the restart though, we end up in this weird loop of endlessly downloading songs. Here's a log excerpt:

(12805) 2011-05-17 10:51:30,714 - root - INFO - authenticating with [email protected]
(12805) 2011-05-17 10:51:30,715 - root - INFO - trying to authenticate with pandora...
(12805) 2011-05-17 10:51:31,253 - root - INFO - authenticated with pandora
(12805) 2011-05-17 10:51:35,447 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:51:36,356 - root - INFO - downloading /tmp/creedence_clearwater_revisited-suzie_q_live.mp3
(12805) 2011-05-17 10:51:48,021 - root - INFO - finished downloading /tmp/creedence_clearwater_revisited-suzie_q_live.mp3
(12805) 2011-05-17 10:51:52,936 - root - INFO - playing "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:21,459 - root - INFO - preloading "Walk On The Wild Side (Live)" by Lou Reed (0:00) (-4.52)
(12805) 2011-05-17 10:52:21,459 - root - INFO - downloading /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:24,578 - root - INFO - finished playing "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:24,579 - root - INFO - stopping "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:24,595 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:52:34,375 - root - INFO - finished downloading /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:34,377 - root - INFO - found existing file for /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:36,981 - root - INFO - playing "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:52,147 - root - INFO - preloading "Stay With Me" by The Faces (0:00) (-5.57)
(12805) 2011-05-17 10:52:52,156 - root - INFO - downloading /tmp/the_faces-stay_with_me.mp3
(12805) 2011-05-17 10:52:55,236 - root - INFO - finished playing "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:55,236 - root - INFO - stopping "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:55,248 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:52:58,719 - root - INFO - finished downloading /tmp/the_faces-stay_with_me.mp3
(12805) 2011-05-17 10:52:58,722 - root - INFO - found existing file for /tmp/the_faces-stay_with_me.mp3

It did the same thing yesterday as well. I left it off for a few minutes, restarted it, and everything seemed to go back to normal. It also did this for a couple minutes yesterday with DjPandora completely shut down, so I don't think it's anything on the web frontend causing it, but I'm willing to be wrong :)

fmod channel error

when using playSound, i think if a bunch of sounds get played concurrently while music is playing, there'll be a rare error:

FMOD error! (11) The specified channel has been reused to play another sound. <ProtocolError for localhost:8123/RPC2: -1 >

have _pandora C extension return song length

should be pretty simple. once the function exists and is exposed to python, it should be used within the download lock (in Song.download) to set the length attribute on the song object, instead of having it get lazy-set when the song is first played

automatically select highest song quality

there's two playable format types, "mp3" and "mp3-hifi"

search pandora.py to find these strings. whether they're available or not comes directly from the playlist xml pandora responds with...it's in each song block. code needs to select hifi if it's available, otherwise regular mp3

Connection is closed when a song loads.

"(2336) 2011-11-07 00:54:42,842 - <WebConnection 127.0.0.1:55848 "/m"> - ERROR -
peer closed connection" and similar messages occur on every instance of a new song being loaded. The end result is that the audio never plays. I have a feeling this is because I didn't feel like booting into linux and ran the script using the Windows version of python. It's version 2.7. Browsers tested include Firefox, Chrome, and IE.

infinite logins (which fail) when auth token expires

usually happens when you've been playing for awhile and you try to like/dislike a song, the auth token has expired, so the code tries to re-auth, but for some reason never completes successfully, so it keeps retrying over and over, making us look like spammers :)

next_song, like, dislike rpc methods

add as methods on PandoraServerProxy in rpc_server.py

should basically just use self.account.current_song.like(), self.account.current_station.next() (? can't remember if that exists), etc

Doesn't play for me ("Pandora does not support your client version")

(89293) 2011-11-09 09:38:56,101 - socket reactor - ERROR - error in writers
Traceback (most recent call last):
  File "pypandora.py", line 1991, in run
    try: sock.handle_write(self.shared_data, self)
  File "pypandora.py", line 1838, in handle_write
    if pandora: self.send_json(pandora.json_data)
  File "pypandora.py", line 379, in json_data
    data["stations"] = [(id, station.name) for id,station in self.stations.iteritems()]
  File "pypandora.py", line 396, in stations
    xml = self.connection.send(get, body)
  File "pypandora.py", line 229, in send
    return self.send(get_data, body, sync_on_error=False)
  File "pypandora.py", line 231, in send
    raise PandoraException, fault
PandoraException: org.apache.xmlrpc.XmlRpcException: 000.000.000.000|0|INCOMPATIBLE_VERSION|Pandora does not support your client version.

Returning from Pause

After being paused for a while and being started again, we get an unsupported file type error from FMOD. Should I just expect to bounce or reauth in these situations, or do you have any ideas on how to better handle it?

Wishlist: get_volume

Would it be possible to get a "get_volume" function? Not sure if that's kept anywhere on your end. If not, I can find a storage place for it on the front end, so that I can init the volume slider with the current volume level.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.