[Clam-devel] Typed controls: Pending refactorings

Natanael Olaiz nolaiz at gmail.com
Fri Feb 6 01:36:24 PST 2009


El 02/05/2009 08:38 PM, David García Garzón escribió:
> BTW, Nat, I just noticed that the GetLastValueAsString prevented Control unit 
> tests to compile because they used a control data with no << operator. 

Ups, sorry for that!

> 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.
>   
It works OK.

BTW, now I'm trying to finish a mixed OSC "typed control" receiver and 
printer, and clean up a little the code... then I'll do the commit. For 
now, the receiver seems to be working! Here is a new screenshot:

receiving mixed types OSC controls


Best regards,
Natanael
> 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-dev
>>>> el
>>>>
>>>>
>>>> -----------------------------------------------------------------------
>>>> -
>>>>
>>>> _______________________________________________
>>>> Clam-devel mailing list
>>>> Clam-devel at llistes.projectes.lafarga.org
>>>> https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-dev
>>>> el
>>>>         
>
>
>
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20090206/10e559a1/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typed_osc_printer.png
Type: image/png
Size: 58309 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20090206/10e559a1/attachment-0004.png>


More information about the clam-devel mailing list