Quick update since a month of forum data was lost
I have the communication with Pandora, and retrieving the song URLs figured out.
I tried implementing it as a plugin, but certain conflicts between the way xbmc and Pandora handle music meant this wouldn't work. Two issues in particular:
1) Pandora presents songs in blocks of 4, after which a request must be sent back to the server to get another block.
2) The song URLs provided by Pandora do not include a file extension, and the mime type is given as "application/octet-stream". XBMC's default music player (PAPLAYER) requires either a valid file extension or mime type to determine which codec to use for playback, and thus does not know how to play the songs from Pandora. Forcing MPLAYER works, but can only be done at the time the song is played.
These two issues (and a few others) necessitate the use of a persistent script in some manner. I played with the possibility of using both a plugin and script, with the script only handling playback, but I feel this leads to an overcomplicated design with issues maintaining the inter-process communication required.
I am now working on a script only implementation using WindowXML to present a custom interface. There's a bit of a learning curve here but I'm getting it.
I'd like to thank everyone who has offered to help. There are a few more things I would like to try myself (it's become a bit of a personal challenge now
), but I know your all excited to have Pandora in xbmc, and if I don't make any progress soon I will definitely release what I have so far for those who wish to help make this a reality.
P.S. If anyone has any good reference material on working with WindowXML I would greatly appreciate it.