[Clam-devel] Typed controls: Pending refactorings

David García Garzón dgarcia at iua.upf.edu
Thu Feb 5 11:11:18 PST 2009


I just took the first task on checking that the float dependant interface is 
ok for the next steps:

I found that the following functions are not used at all but in the tests:
Out::SendControlAsBoolean
Out::SendControlAsInteger
In::LastValueAsBoolean
In::LastValueAsInteger
(Not including LastValueAsString, still needed for a while)
So i just removed them and the related tests. Now on we can recommend using 
templated controls for bool and integer instead.

The other check i did was for float default values and bounds. There was a 
dupped implementation on TypedControls that has been removed. Now float 
defaults and bounds related interface is in the base class. Which is not 
consistent yet but anyway is what we have now.

Francisco i think that it is ready to try step 2 and to check whether all is 
still working. Warn us if you try, because i will do ninja attacks to the 
roadmap, from time to time.

David.


On Wednesday 04 February 2009 23:43:12 Natanael Olaiz wrote:
> Thanks to David for the list, and Francisco for take the task!
>
> I'll try to improve the printer and OSC implementation. For now, here is
> a screenshot (the wiki is down :( ) of the actual state:
> receiving OSC typed controls
>
>
>
> Best regards,
> Natanael
>
> El 02/04/2009 09:59 PM, Francisco Tufró escribió:
> > I can take some time to finish this.
> >
> >
> > On Wed, Feb 4, 2009 at 7:29 PM, David García Garzón
> > <dgarcia at iua.upf.edu <mailto:dgarcia at iua.upf.edu>> wrote:
> >
> >     Just for the record, and just in case some one wants to take them
> >     before i can
> >     do it:
> >
> >     Current refactoring status (X=In or Out):
> >
> >     - BaseXControl: Is the base class for any X controls
> >     - XControl: Is the old control interface for just floats
> >     - TypedXControl<T>: Is the new templated interface
> >     - FloatXControl: Is a typedef to XControl to easy the transition
> >
> >     To get there:
> >     - Most common behaviour has been moved to BaseXControl.
> >     - All uses of XControl has been renamed to BaseXControl or
> >     FloatXControl
> >     depending on the kind of usage (general or float).
> >     - Some direct control sending has been abstracted into functions
> >     living in
> >     Processing.hxx
> >
> >     Target status:
> >
> >     - BaseXControl: Is the base class for any X controls
> >     - XControl<T>: Is the new templated interface (renamed!)
> >     - FloatXControl: Should point to XControl<float> or we could remove
> > it
> >
> >     So, pending steps are:
> >
> >     1- Converge existing differences in float interface (bounds,
> >     defaults and
> >     bool/int conversion) in BaseXControl/XTypedControl versus XControl
> >     one.
> >     2- Point FloatXControl typedef to XControl<T> and check that all
> >     is still
> >     working properly ¬¬
> >     3- Remove the XControl classes, checking that there still is no
> > direct dependency on them
> >     4- Rename TypedXControl<T> to XControl<T> so we have the same
> >     interface than
> >     with ports.
> >     5- Rename FloatXControl usage to XControl<float> (or keep it as we
> >     have
> >     AudioInPorts as InPort<float> alias)
> >
> >     Other issues to address eventually:
> >
> >     6- Decide what to do with the Bound and Default interface in
> >     BaseXControl
> >     7- What to do with the free functions in Processing.hxx that
> >     handle float
> >     control sending.
> >     8- Make XControlPublishers not just float
> >
> >
> >     David.
> >
> >
> >
> >     _______________________________________________
> >     Clam-devel mailing list
> >     Clam-devel at llistes.projectes.lafarga.org
> >     <mailto:Clam-devel at llistes.projectes.lafarga.org>
> >    
> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Clam-devel mailing list
> > Clam-devel at llistes.projectes.lafarga.org
> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel






More information about the clam-devel mailing list