A
Anonymous
Guest
Hi folks, I've been playing with MP for a short while now and I've got some comments and suggestions I'd like to make. For some background I've been thinking about writing my own htpc app for a while - I've been using myHTPC on my htpc but found it a little limiting for some things, and was slightly dissapointed with Meedio - so I decided to look (back) here.
These comments/ideas are put forward for comments and discussion - I'd like to hear what you think, they're not intended to be insulting
* Generic screen code - Looking through the code there are projects for all the available screen types - home, music, movies, etc, however looking at the actual code there doesn't appear to be much difference, other than some data processing code. I would suggest that if possible the data processing code and presentation code be separate - for example creating a generic 'page' class that can display any page. As a (very small) example of this I removed the date/time processing code from the home.cs file and moved it elsewhere (I moved it into the util.cs file in the process tag code, but it could probably go elsewhere) so I can now use new #currentdate and #currenttime tags on any page and any label.
(This would also open the door to having an MP XML format for UI definition, but having multiple presentation devices - pdas, html, Windows Forms, SVG, etc, often using little more than XSLT.)
* Generic data-feed code - In a similar vein to the generic screen code, I think it would be useful to have some generic data-feed code so pages can get data without specific code having to be written. This is a little more difficult to describe, but how about having a data-feed called 'MusicPlaylist', then having a theme page which has a label with a value of '#MusicPlaylist[0].Name' to display the name of the current playing track? (Or maybe '#MusicPlaylist[#CurrentMusicTrack].Name'.)
(Actually this may be defined as a data-feed interface so new data-feeds can be quickly written and integrated.)
* Generic playlist code - (Or a playlist interface) A playlist is a key idea/feature in a media app - the music you're listening to is in a playlist, slideshow pictures are a playlist, movies, etc. Having generic code to deal with a playlist would save having to re-invent the wheel for every media type/page being defined, and could open the door for page themes to directly control playlists. For example, having actions like 'EmptyPlaylist' 'AddToPlaylist' etc.
Any comments?
These comments/ideas are put forward for comments and discussion - I'd like to hear what you think, they're not intended to be insulting
* Generic screen code - Looking through the code there are projects for all the available screen types - home, music, movies, etc, however looking at the actual code there doesn't appear to be much difference, other than some data processing code. I would suggest that if possible the data processing code and presentation code be separate - for example creating a generic 'page' class that can display any page. As a (very small) example of this I removed the date/time processing code from the home.cs file and moved it elsewhere (I moved it into the util.cs file in the process tag code, but it could probably go elsewhere) so I can now use new #currentdate and #currenttime tags on any page and any label.
(This would also open the door to having an MP XML format for UI definition, but having multiple presentation devices - pdas, html, Windows Forms, SVG, etc, often using little more than XSLT.)
* Generic data-feed code - In a similar vein to the generic screen code, I think it would be useful to have some generic data-feed code so pages can get data without specific code having to be written. This is a little more difficult to describe, but how about having a data-feed called 'MusicPlaylist', then having a theme page which has a label with a value of '#MusicPlaylist[0].Name' to display the name of the current playing track? (Or maybe '#MusicPlaylist[#CurrentMusicTrack].Name'.)
(Actually this may be defined as a data-feed interface so new data-feeds can be quickly written and integrated.)
* Generic playlist code - (Or a playlist interface) A playlist is a key idea/feature in a media app - the music you're listening to is in a playlist, slideshow pictures are a playlist, movies, etc. Having generic code to deal with a playlist would save having to re-invent the wheel for every media type/page being defined, and could open the door for page themes to directly control playlists. For example, having actions like 'EmptyPlaylist' 'AddToPlaylist' etc.
Any comments?