Hi, Andreas Dick wrote: > When I wrote plugins for 1.x I found a lot places in the code that should be > redesigned or even cleaned from cross dependencies and other software design > problems... but thinking about freevo 2 I hope for a wonderfull > (software-)world where everything is fine and where hacking is easy and self > understandable...
Sure :) > Thus I am not longer interested in hacking for freevo 1.x as long as I think > that my code will not be needed in freevo 2 anymore... Shouldn't we go > straight to freevo 2 and forget all the detail problems of 1.x? Maybe you should take a look at 2.0 and check if what you think needs some clean up looks better. If not, let us discuss this here. > In fact: I am interested in coding for freevo 2 but I do not see the big plan > behind it yet...: So I should help you :) > - how will the configuration be? kaa.config: Developers write config schema in xml files. These xml files will be converted to .py files during install. This python code can read _and_ write ini style config files. The user only sees that ini style file and you can also write a small app for configuration so the user does not need to open an editor. Jason started such an editor but it does not support all the features. > - how will the plugin structure be? Similar but different at some levels. You do not have a DaemonPlugin, only a generic one and some special types for generating items for the menu (ItemPlugin as in 1.8) and for the idlebar (IdlebarPlugin as in 1.8). All plugins can use kaa.notifier's Timer and Sockets to do stuff in the background and send events if they think it is needed. > - the event handling, polling? Events similar. IIRC Freevo 1.8 uses the kaa.notifier event code. You can post() and event and parts of Freevo register to that event and react on it. No polling! > - what could the interface be between core and modules (like kaa)? Depends on the kaa module. Kaa defines some generic code Freevo uses. So there is no mplayer or xine video plugin in Freevo, Freevo uses kaa.popcorn to play the video. And kaa.popcorn chooses the player that should be used. That is the main difference between Freevo 1.x and 2.0: the logic is split into several modules. If you want to add a new video player, you do not have to understand one line of code from Freevo, just kaa.popcorn (and kaa.base which is used by kaa.popcorn). Similar is kaa.epg. A new source is added in kaa.epg and Freevo doesn't care. For code like the gui, kaa.mevas (trunk) or kaa.candy (experimental branch) provide the basic functions and Freevo uses it (and adds some more Freevo specific widgets). > - and so on. Feel free to ask more and check out the code. Dischi -- WARNING: I cannot be held responsible for the above, as apparently my cats have learned how to type. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Freevo-users mailing list Freevo-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-users