Hey guys
I've had a play with skinning, and find it frustrating in its current form, its just not possible to do much.
So much so that in my latest skin, I've resorted to coding my own WCF service which consumes data from MCWS, and spits out images and the skin xml files as it starts up, and at intervals whilst it is running
to keep things fresh.
I agree with what others have mentioned, that each 'page' within theater view should be skinnable, and each list style within that.
The current hierarchical approach to targeting pages is not sufficient.
I would like to be able to design a template for the 'album/grid view' page, the 'movies/cover flow' page, the 'play album', 'watch movie' etc completely independently
including the ability to show metadata at various levels of the browse hierarchy e.g. artist bio data when an artist is selected, or album information, similar artists etc (all of which are available from last.fm/echonest)
I would also like to be able to design the template for the list items in specific list views too, so grid view isn't necessarily cover art with name centre aligned underneath, but could be laid out with cover-art is the background image and name is overlaid with a partially opaque background colour, and i could also include extra information and maybe icons showing channels/codecs etc
at the minute there is very little customisable from this perspective (text colour, background colour, padding, selector), and the 3d views are impossible to skin.
I would also like the rollers to be more graphical, with the ability to create icons representing different options rather than just text
rollers should again be customisable dependent on the location, e.g the menu on the playing now screen can be designed/positioned independently from those in the standard views
I would also like it to be possible to hide the rollers, whether manually or after a time interval, returning on key/button press.
i would like to be able to separate out some of the roller options too, in particular the playback controls (incl. volume/zone selectors) into a different menu, which can be completely visualised rather than using text
and this new menu should be able to also show 'playing now', with potential to show progress, codecs/file types/channels/bitrates etc from anywhere in the UI.
From the root screen I would also like it to be possible to view and select items for playback, perhaps defined in the skin or theatre view options using search expressions or playlists, e.g. recently added, or most played dependent on the roller item currently selected.
Then there is the 'plugin' idea.
there are many web based services which I believe could be easily integrated into MC / theatre view by generating playlists based on urls and metadata provided directly from their apis e.g lovefilm (amazon uk), bbc iplayer, 4od, itv player, now tv (sky) to mention just a few uk based ones.
each plugin would simply be a mapping between the data provided by the specific api and an MC playlist which is browsable / selectable / playable through Theatre View.
A system to allow these to be created & distributed & installed would be a big win from my perspective, and allow me to ditch xbmc forever!
I'm currently working on a WPF application (started life as a MC screensaver) which implements much of the above, and uses MCWS to control MC, but if v19 theatre view is getting a real overhaul, I may stop wasting my time! (although i'll no doubt find something else to tinker with)
just a few ideas