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


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.