[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