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

Reply via email to