dear hernan, cheese is now about a year old and we already had a rewrite of the webcam class. you are right, that cheese got really complex in some places (e.g. cheese-window or cheese-webcam) and in those places its also quite hard to find bugs. youre also right that its not that easy to have a good implementation written in c. however, i dont think switching to another programming language would fill the gap, also because of the following points: * gnome is almost entirely written in c. for sure, this isnt just because its c, but also because we have awesome libraries, which are also written in c. therefore you also get the newest functions and apis. * rewriting cheese in another language would be as removing cheese from gnome and then resubmitting it for 2.26, that doesnt sound really good * everybody has his favorite language, like python, mono, c,.. but at the end i think you get the most patches and people willing to contribute if you use a language, which most people can understand and are willing to use. * (optional) mono, novell, microsoft. a lot of people do not like this relationship * specific to mono: mono is object oriented, but i can say, that we get almost the same with gobject, which i like really more than the object oriented things in mono/java * compatibility: i dont know how mono and gstreamer and those other libraries work together. you see, there are a lot of points where we could discuss and probably never find a common agreement. so, as patrys already told you: you are entirely free to build your own cheese with mono, but i want to propose something else: we added many features to cheese without looking at code mainteneance and therefore we are, where we right now are. i dont like some places of the cheese code, and i really would like to rewrite it from scratch, to have a clean design, which is extensible and gives us the possibility to add features easily. it would be awesome to help us to accomplish this goal and i think we all can be happy afterwards. what do you think? daniel by the way: jaap is developing a cheese clone in vala, you can find that in the cheese svn under branches, but in my opinion a lot of the arguments above apply here. a lot, because vala is just a frontend to c and gobject. On So, 2008-06-22 at 14:52 -0400, Hernan Gatta wrote: > Hello, > > Cheese has been evolving quite some recently and I've been looking at > the ideas that you would like to see implemented in the upcoming > releases in order to make Cheese even better. However, I have indeed > looked at the code and I am afraid to say that as with almost any > program coded in C, Cheese will exponentially grow in complexity as > features are added. I've tried to add some of the features and the > code-base is pretty complex to work with in terms of dynamically > managing the Gstreamer pipeline, for instance. I would like to propose a > new design based on Mono (.NET) that would allow a very simplistic (and > even cross-platform) core filled with easy-to-write extensions based on > the Mono.Addins framework (look at > http://www.mono-project.com/Mono.Addins). Applications like this one > exist already and are seeing a growth in usage like Tomboy Notes and > Banshee as well as the MonoDevelop IDE. I'd like to point out that the > user interface need not change, just the underlying code; although I > would like to see some sort of OpenGL-based GUI should the user's system > support it in order to bring more "bling" to the program (using things > like Clutter as a back-end - http://clutter-project.org/). I've started > some work on this myself already and I will continue to work on it. I > would like to hear your input on this idea and see what can be done > about it. > > Thanks, > > Hernan. -- this mail was sent using 100% recycled electrons ================================================ daniel g. siegel <dgsiegel gmail com> http://home.cs.tum.edu/~siegel gnupg key id: 0x6EEC9E62 fingerprint: DE5B 1F64 9034 1FB6 E120 DE10 268D AFD5 6EEC 9E62 encrypted email preferred
Attachment:
signature.asc
Description: This is a digitally signed message part