For Developers
Developers can help Lumiere by contributing code. Understanding Lumiere is easy enough. You need a good knowledge of the GObject system that comes with glib from GTK+. There are also other ways to get involved, for example translating the interface in your language, very easy process.
I would still say the first thing youn need (apart form learning C) is look through the doc of the the gobject builder (namely gob2). As most of lumiere is programmed in "gob", which is a way to avoid the tedious declarations imposed by the gobject system, it makes programming quicker and safer for type checking mostly. Don't be afraid it is not a new language, it is still C inside the function, just the declarations are made simpler (why does C call something "static" when it means "private", e.g.).
As you well understood then, most lumiere classes (well all those that I wrote) are in ".gob" files, the c and header files are generated. So do not edit them anytime (they are still handy in case you want to check the order in which something happens e.g.). Debugging? Easy enough with gob, gdb can follow you through the .gob file, thanks to compiler directives in the generated C code. Still, it is rather difficult to debug as libxine creates a tremendous amount of threads.
Build Lumiere
Get the Source from savannah then build it with standard autotools commands, "configure --prefix=YOUR_GNOME_PREFIX" and even "--enable-debug" if you want to build a gdb debuggable executable and want lots of printouts.
Tools & Resources
- Lumiere mailing list
- Savannah Bugs interface
- CVS: Browse the CVS or get your own copy to test the latest developments.
- Gnome developer website: Loads of information with tutorials and references about the Gnome system and libraries.
- xine home: Some information is also available there about the xine library.
Contribute builds!
Or feedback on succesful builds and runs! The former version had its emerge (Gentoo) script, its Mandrake contrib package and was said to even work on ppc. Just let me know
Da future?
- First, fix mplayer's support, we are not far.
- Then try to make a stripped down version for Windows, this should be feasible as libxine is getting win32 support and gtk2 is almost fully working too, just need to remove the Gnome stuff. The design should have kept the classes separated enough from one another for this to be possible without much rewrite, just the "main" I would say, optimistically.