I've been using XBMC since it branched from the early media centre that was available via EVOX back on the original Xbox.
Since moving over to Apple as a front end OS (well - and virtualised win32/linux/solaris environments depending upon what/who I'm working for) I've really loved what the Plexapp branch out of XBMC has become esp the app store nature of publishing plugins. Once cash permits a new mini will find its way under the TV to replace my old console.
I feel I've had so so much wonderful use from XBMC over the years its only fair I try and contribute something back to the community to try and say thankyou and help myself in the process (I needed a picasa plugin - one doesn't seem to exist)
I've not had much exposure to python but I'm sure its not going to be too hard to come to terms with after other languages. After a quick peep under the covers of the Aperture Priority plugin and it seems pretty easy to see how you hook your callbacks into the plugin architecture.
I've also taken a look through how the Google gdata.photos.service python package works and it seems to save you XML parsing because under the covers it uses the Element Tree package so you just access everything via object collections and properties. Is Plex on python 2.4 or 2.5 ? I think it makes sense to use the google api however it will probably add a few MB to the size of the plugins bundle (and hopefully keeps compatibility as picasa changes).
Over the coming weeks I'll see if I can get a fairly basic picasaweb plugin working for named public galleries in my spare time (it will be a 'useful' way of learning python and a nice bit of mental exercise). The gdata package has support for authentication by token but it's probably easier to use the SingleUser client authentication model and keep the users crypted password locally.
I need to understand some of the XBMC/Plex Plugin interface to to get a handle on how I can persist my plugins settings etc (and deal with storing an encrypted google pasword once I get round to non-public galleries). Dev Documentation is sparse right now - but I'd hope I can help with formalising some of that too as I go). Is there any doco for the base Plugin packages for XBMC anywhere so I can understand what else the Plugin object exposes (setting persistence etc.) ? Is the source for this down in the Plex app bundle somewhere so I can just browse the source ?
Being able to register one gallery would be neat - being able to register multiple galleries (i.e. friends, family members etc.) would be really sick (and not much extra work if done correctly) with options for public/private based on secure password storage would make for an excellent random slide show. i.e.
Picasa Plugin Root
|--Picasa Gallery 1
|--Picasa Gallery 2
|--Picasa Gallery 3
| |--Albums
| | |--Album 1
| | |--Album 2
| | | |--Picture 1
| | | |--Picture 2
| | | ...
| | | |--Picture x
| | |--Album x
| |--Tags
| | |--Tag 1
| | |--Tag 2
| | | |--Picture 1
| | | |--Picture 2
| | | ...
| | | |--Picture x
| | |--Tag x
|--Picasa Gallery x
I'm not sure there is much point in trying to build anything for the Picasa Mac desktop app - after all it just watches directories on your HD for changes so the pictures are already accessible via regular path sources in XBMC. Being able to pull from web albums seems much more useful to me.
Wish me luck.
Ian.
