Following on from adding some prettier dialog/info in the livepause plugin I thought I would try and make the feature more generic so that any part of freevo could use it, with the idea that it could, in some case, replace some of the cumbersome menus (like the favourites editing menus) with a simpler dialog.
So far I've got the majority of the implementation done but before going any further I thought I would see what people think to the current API. I've attached a dia UML diagram showing the classes and the majority of the methods and attributes (thought I better after complaining about the lack of docs :-) ). Basically the main interface would be: dialog.show_message() dialog.show_volume() dialog.show_play_state() and for plugins that wanted to display other dialogs, they would use: dialog.dialogs.ButtonDialog - for confirmation style dialogs dialog.dialogs.MenuDialog - to display a menu for example this could be used to display actions of an item or in the guide. This means the user won't lose the context of the menu as it would be in the background. dialog.dialogs.WidgetDialog - for generic dialogs, for instance a dialog to edit favourites could have radio buttons for which days of the week to match against. All the mixer plugins will be modified to call dialog.show_volume() removing the OSD_MESSAGE (but not the events used by the LCD/VFD plugins). The dialog package will intercept any existing OSD_MESSAGE events and use dialog.show_message() to display them. Some other features that I'm playing with, when a dialog is shown that processes events the background is greyed to to show that the dialog is in control, a bit like the shutdown dialog in Windows. Oh and all these will be skinable using the same xml format used by the livepause plugin but with some additions for control navigation between widgets and defining widget styles. Thoughts? After this I'll start looking at what I can do to help freevo 2. cheers Adam
dialog.dia
Description: application/dia
------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php
_______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel