GNOME Outreach Program update
10 de Janeiro de 2011, 0:00 - sem comentários aindaWhen I think we are getting closer to define a format for configurable properties in GNOME Video Effects, someone thinks of something else to change. This is actually good, I think every little change that was done is for the best, but it’s a very slow process and it’s not very good to work on a library of a changing format.
It was great to start the library to learn more about how it would be parsed, but there are some small differences in the format that might change the library a lot. One of those is detecting the type of a property automatically from the GStreamer element, since right now we have properties in GNOME Video Effects that always map to one unique property in one GStreamer element. To do that I will probably create a GstBin from the description of the effect, get the element, its class and the property type. At least it seems the most simple way of doing it for me. Always creating the GstBin will also help me get the default of every property.
I also made improvements not related to changing the format in the library, most of them thanks to Younness‘ comments.
I also decided to work on Cheese a little. I rebuilt everything again to see if some upgrades would fix a bug that I have. I can’t see the preview in Cheese, it is a black screen or a red screen if I apply some specific effects. I can see the effects preview, though. I tried somethings, including using a workaround I had done for a similar problem, but it doesn’t work anymore. This is probably not a bug in Cheese itself and no one else seems to have it. Maybe I’ll just try to use it this way for now. I also started debugging Cheese Widget since the test stopped working for me. This one I will continue to work on, since I want Cheese to use Cheese Widget again.
GNOME Video Effect Library update
5 de Janeiro de 2011, 0:00 - sem comentários aindaFirst of all, this is a very late report of the work I did last week.
I continue to work on a library to parse GNOME Video Effects. Some of the highlights of what I did last week are:
- Added the library to be compiled by autotools.
- Added a small test.
- Started handling more types of properties (boolean and string).
- Started checking property values when they are set.
- Change of license: When I started the library, I used GPL version 2 as the license following GNOME Video Effect license. Last week I decided to change it to LGPL. The library is very simple and my goal is for it to be used by most applications using GNOME Video Effects. I doubt that any application would change its license just to avoid implementing a simple parser, so I think LGPL will allow us having the most users without losing anything.
Other than that, mostly fixing stuff that was wrong and minor improvements.
The discussion about the format for properties in GNOME Video Effect is also not finished yet, but almost. This week I’m replacing the Min and Max keys for double and int properties to a range Range key and I will change how the default value is defined also. In the library I’m parsing a Default key, but the default value will be set inside the pipeline description, so, if an application is not interested in configurable properties, it will have the default value set only by using the pipeline description. This was actually right when I posted the format the first time but I changed it when implementing the library. The example is almost the same as before:
[Effect] Encoding=UTF-8 Name=Hulk Name[pt_BR]=Hulk Comment=Transform yourself into the amazing Hulk Comment[pt_BR]=Transforme-se no incrível Hulk PipelineDescription=videobalance saturation=1.5 hue=-0.5 name=balance1 [Property::angriness] Name=Angriness Name[pt_BR]=Raiva Comment=Change the angriness of Hulk by making yourself more or less green. Comment[pt_BR]=Mude a raiva do Hulk ficando mais verde ou menos verde. Type=double Range=1.2;1.6; Element=balance1 Property=saturation
GNOME Video Effects library
28 de Dezembro de 2010, 0:00 - sem comentários aindaI blogged about adding properties to GNOME Video Effects before. The discussion about the format is still going on, but meanwhile I started working on a library to parse the new format (I will adapt it when the format is defined).
Until now, GNOME Video Effects didn’t have a parser, because the format was very simple and small and every application could parse it itself. Now that we are adding properties to it, I think it will make sense to have a parsing library inside of GNOME Video Effects that applications can use. You can check what I have developed until now in http://gitorious.org/libgve/libgve/commits/parser.
In its current state, the library basically parses the .effect file and stores its properties as pspecs in a hash table. It creates the actual effect (a GStreamer Element to be used in the application pipeline) only when requested and after that you can set its properties as you wish. Besides improving and fixing what is done, I still need to add a way to get the information that was parsed which can be used, for instance, to show it in a UI.
I also added a bug about adding the library to GNOME Video Effects.
Adding configurable properties to GNOME Video Effects
17 de Dezembro de 2010, 0:00 - sem comentários aindaGNOME Video Effects is a collection of GStreamer effects that can be used in GNOME applications. It is currently used by Cheese, meaning it has all those nice effects that are used in Cheese.
Effects are described in a very simple format, so it’s very easy to add a new effect if you know a little about GStreamer. The famous hulk effect is as simple as:
[Effect] Encoding=UTF-8 Name=Hulk Name[pt_BR]=Hulk Comment=Transform yourself into the amazing Hulk Comment[pt_BR]=Transforme-se no incrível Hulk PipelineDescription=videobalance saturation=1.5 hue=-0.5
It couldn’t be simpler, but it doesn’t allow us to change anything. In many effects, it would be nice to have configurable properties, such as making hulk more or less green or choosing delaying time in timedelay for 2 or for 20 seconds. This would allow other applications to use GNOME Video Effects as well.
The new format to specify configurable properties is being discussed in bug number 626533. We are heading to something like this, with some details to be decided:
[Effect] Encoding=UTF-8 Name=Hulk Name[pt_BR]=Hulk Comment=Transform yourself into the amazing Hulk Comment[pt_BR]=Transforme-se no incrível Hulk PipelineDescription=videobalance saturation=1.5 hue=-0.5 name=balance1 [Property::angriness] Name=Angriness Name[pt_BR]=Raiva Comment=Change the angriness of Hulk by making yourself more or less green. Comment[pt_BR]=Mude a raiva do Hulk ficando mais verde ou menos verde. Type=double Min=1.2 Max=1.6 Element=balance1 Property=saturation
Currently, GNOME Video Effects only provides a collection of effects, but parsing should be done by the application using it. As this format will be a little more complicated, I’m also thinking about writing a library that could be used by the applications and, off course, use it in Cheese.
GNOME Outreach Program for Women plans
18 de Novembro de 2010, 0:00 - sem comentários aindaThis is my first post after I was added to Planet GNOME (although some of my very old posts have already been displayed on the planet), so, hello planet readers!
I will be part of GNOME Outreach Program for Women working on Cheese and I will have Thiago Souza Santos as a mentor. I’m really happy about this opportunity. I would like to thank GNOME Foundation, Google and Collabora for sponsoring this, Marina for organizing it and Daniel Siegel for helping me through application and giving me the great ideas to work on.
One of my goals for the project is to improve Libcheese making it good to be used by other software. I plan to use camerabin in Libcheese and use gobject-instrospection to allow applications written in other languages to use it.
Another goal is to add configurable properties to GNOME Video Effects. For instance, think about the hulk effect in Cheese, while you want to keep the hue property in videobalance fixed so you can get the green skin tone, you can configure saturation to have lighter or stronger greens. The goal is to fix this bug: https://bugzilla.gnome.org/show_bug.cgi?id=626533 and hopefully have more people using GNOME Video Effects after that.
If you have any ideas on those topics, please send me an e-mail, contact me on IRC or just add it to bugzilla. And, keep in mind that I can only start working for real on that on December 15th, when the program starts. Less than a month away! Counting down!