Hi, I just checked in the current status of the gui code. This mail should explain something, show the roadmap and give some pointers were you can help. Comments are welcome.
First something non GUI specific: the rc.app suff is gone now. We have now applications (eventhandler.py). Examples for an application are the menu, the image viewer, the audio player, mplayer and xine for video. There can be only _one_ application at a time. It has the focus and it is visible. If an applications show() itself, the application above hide(). When it's done, it destroy() to show() the application below. Popup boxes are always above all applications. An application can also set the backend for drawing, 'default' is whatever is the main backend (sdl), mplayer uses bmovl and xine none because you can't display gui widgets inside xine. Because of the changes, some plugins are deactivated. There are fours reasons: 1. It is broken and needs better integration into the gui code 2. It is broken, needs smaller updates to the new gui code. If you like, you can send a patch. If you have questions, ask 3. Similar to 2: some idlebar plugins are deactivated. Since they are no longer drawn inside the skin code, the draw() function needs to be rewritten. Please send a patch. 4. Maybe it's broken. I don't know, I didn't test all plugins. Please test such a plugin and send a patch or let my know if it still works. I will only reactivate plugins if they don't import osd or skin! A next step for me is to break the menu. MenuWidget creates pages to draw on the screen. This should be done inside the listing area code. Right now, the menu asks about cols and rows. So I will spit MenuWidget into the handling of the menu and move the drawing/initpage code into gui. Speaking of breaking things: while everything is broken, maybe it's a good time to split the tv part of freevo into two independed modules: tv showing inside freevo and tv code for the recordserver. Some people ask about animations. I tested some stuff with the new gui code. In image viewer, when you press DISPLAY, the osd moves in. This is way to slow. I tried nice stuff like moving old items in the menu to the left and let the new items come from the right...it's a pain. The reason: for some strange reason pygame is the bottleneck. pygame == sdl == for games. I don't see how. Maybe years ago. Even creating a surface is slow (it should be only a malloc in C), blitting surfaces together is too slow to do some nice animations. When you look at bmovl, you see that it is possible to do fast blitting (the osd is blitted on every frame in mplayer). So we need a new backend, not pygame. Or better, split the backend in rendering and showing (this is possible with the new gui code). We could use a fast renderer (imlib2 or gdkpixbuf) and show it with pygame (or something else). Since I don't have time for all this, someone else needs to play around with this, I won't. Without a better backend, there will be no cool animation support! Please contact me if you want to do this. What can you do inside Freevo? o fix some plugins o create better backends What can you do outside Freevo? o add something like bmovl to xine / tvtime Dischi -- Nothing is ever a total loss; it can always serve as a bad example. ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel