[Clam-devel] Typed controls: Pending refactorings

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


You can call the technique 'selective method instantiation by means of a an 
static boolean type trait parameter'.


On Thursday 05 February 2009 20:38:17 David García Garzón wrote:
> BTW, Nat, I just noticed that the GetLastValueAsString prevented Control
> unit tests to compile because they used a control data with no << operator.
> So i just fast implemented the technique i mentioned you the other day we
> used for serialization. I seems to compile now, and pass the tests but
> there is no test for such method so it could have stopped working. So if
> you find problems with the control printers, just blame me.
>
> On Thursday 05 February 2009 20:11:18 David García Garzón wrote:
> > 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-d
> > > >ev el
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > >-- -
> > > >
> > > > _______________________________________________
> > > > Clam-devel mailing list
> > > > Clam-devel at llistes.projectes.lafarga.org
> > > > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-d
> > > >ev el






More information about the clam-devel mailing list