[libavg-devel] Updated Ideas for Expansion

Ulrich von Zadow uzadow at libavg.de
Sun Feb 22 13:11:28 CET 2009


On Feb 21, 2009, at 2:12 AM, marco kuhn wrote:

> Hi Uli,
>
> 2009/2/14 Ulrich von Zadow <uzadow at libavg.de>
> Hi,
>
> > I've updated the 'Ideas for Expansion' page in the wiki (https://www.libavg.de/wiki/index.php/Ideas_for_Expansion
> > ) to reflect the current state of libavg. Help getting these things
> > done is welcome, as always :-).
>
> thanks for the ideas.
> I`m just begin to create my little libavg GUI framework.
> I develop a application for controlling music software.
> So, the GUI Elements are spezialized for this purpose.
> I just finished slider elements.
> I can send you the code to discuss about the design.

Why not just put the code online so more people can help/comment?

> Also I'm thinking about the improvement of the tracking configuration.
> Do you have starting points for this job?

Weeell...

Off the top of my head, here's the things that I think could be  
improved wrt the tracker configuration:

- The config file sections don't match the internal filters used.
- xml syntax using 'value=' everywhere is very wordy.
- Error handling could be improved a lot.
- Optional parameters are not handled very well, so some params that  
should be optional are mandatory.
- Tracker Camera parameters and camera node attributes don't match.  
For instance, what's called fps in trackerconfig is framerate as  
camera node attribute.

And this is a general idea for an improved avgtrackerrc:

<avgtrackerrc>
   <camera source="firewire" device="/dev/video1394/0" framerate="30"  
size="(640,480)" ...
   <mask href="mask.png"/>
   <prescale factor="2"/>
   <transform distort="(0.0001,0,0)" trapezoid="0.001" ...
   <crop displacement="(0,0)" scale="(3,3)"/>
   <historysubtract interval="25"/>
   <track threshold="20" similarity="10" areabounds="(200, 100000)"  
eccentricitybounds="(1,80)"/>
   <contour precision="0"/>
   <bandpass stddev="(1.6, 2.3)" postmult="30"/>
   <touch threshold="160" similarity="10" areabounds="(13, 60)"  
eccentricitybounds="(1,8)"/>
   <event onmove="false"/>
</avgtrackerrc>

In python, things might look like this:

   tracker.track.threshold += 2

Instead of the current

   tracker.setParam("/tracker/track/threshold/@value", getParam("/ 
tracker/track/threshold/@value"+2)

I don't really have a plan for the implementation of this interface  
yet, but ideally it should be easy to add new filters and attibutes,  
so the implementation needs to be at least somewhat generic.

Note that I've added some attributes with tuple values... there should  
be a general handler for those, because I think we'll be needing them  
in the avg files as well.

These are just ideas, not plans, so everything is very open to  
discussion...

OTOH, there are some incremental improvements that could be done  
immediately, like the handling of optional parameters.

Cheers,

   Uli

> -- 
> ->homepage: http://www.hi-pi.de
> ->blog:http://www.hi-pi.de/blog
> ->myspace:http://www.myspace.com/hipiexperiment

--
Any technology distinguishable from magic is insufficiently advanced.

Ulrich von Zadow | +49-172-7872715
Jabber: coder at c-base.org
Skype: uzadow






More information about the libavg-devel mailing list