[Clam-devel] Typed controls: Pending refactorings

David García Garzón dgarcia at iua.upf.edu
Fri Feb 6 06:20:59 PST 2009


I guess so. Nice because compiler will warn us if there is any one left as 
soon as we remove the class (before renaming the template).

On Friday 06 February 2009 13:42:31 Francisco Tufró wrote:
> I've found that some XControl direct access still exist in plugins.
> Should i rename all these to FloatXControl?
>
> examples/MIDIIOExample.cxx:    InControl stopReceiver("stop-receiver");
> plugins/continuousExcitationSynthesizer/SDIFDatabaseProcessing.hxx:
> InControl mPitchControl;
> plugins/continuousExcitationSynthesizer/SDIFDatabaseProcessing.hxx:
> InControl mAmplitudeControl;
> plugins/continuousExcitationSynthesizer/SDIFDatabaseProcessing.hxx:
> InControl mBrightnessControl;
> plugins/spacialization/src/BFormatRotation.hxx:    CLAM::InControl _roll;
> plugins/spacialization/src/BFormatRotation.hxx:    CLAM::InControl
> _azimuth; plugins/spacialization/src/BFormatRotation.hxx:   
> CLAM::InControl _elevation;
> plugins/spacialization/src/IncoherenceCompensator.hxx:    InControl
> mDeviation;
> plugins/spacialization/src/ComplexSpectrumMixer.hxx:    InControl _gain1;
> plugins/spacialization/src/ComplexSpectrumMixer.hxx:    InControl _gain2;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _sourceX;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _sourceY;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _sourceZ;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _listenerX;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _listenerY;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> InControl _listenerZ;
> plugins/spacialization/src/RoomImpulseResponseSimulatorCommandLine.hxx:
> static unsigned map(InControl & control, unsigned limit)
> plugins/spacialization/src/VectorBasedArrayPanning.hxx:    CLAM::InControl
> _beta;
> plugins/spacialization/src/BFormatRotationZoom.hxx:    CLAM::InControl
> _roll;
> plugins/spacialization/src/BFormatRotationZoom.hxx:    CLAM::InControl
> _azimuth;
> plugins/spacialization/src/BFormatRotationZoom.hxx:    CLAM::InControl
> _elevation;
> plugins/spacialization/src/BFormatRotationZoom.hxx:    CLAM::InControl
> _dominance;
> plugins/spacialization/src/ImpulseResponseInterpolator.hxx:    InControl
> _position;
> plugins/spacialization/src/Vbap3D_OneSpeaker.hxx:    CLAM::InControl
> _azimuth;
> plugins/spacialization/src/Vbap3D_OneSpeaker.hxx:    CLAM::InControl
> _elevation;
> plugins/spacialization/src/Vbap3D.hxx:    CLAM::InControl _azimuth;
> plugins/spacialization/src/Vbap3D.hxx:    CLAM::InControl _elevation;
> plugins/spacialization/src/ImpulseResponseDatabaseFetcher.hxx:    InControl
> _emitterX;
> plugins/spacialization/src/ImpulseResponseDatabaseFetcher.hxx:    InControl
> _emitterY;
> plugins/spacialization/src/ImpulseResponseDatabaseFetcher.hxx:    InControl
> _receiverX;
> plugins/spacialization/src/ImpulseResponseDatabaseFetcher.hxx:    InControl
> _receiverY;
> plugins/spacialization/src/ImpulseResponseDatabaseFetcher.hxx:    static
> unsigned map(InControl & control, unsigned limit)
> plugins/GuitarEffects/AutomaticGainControl/AutomaticGainControl.hxx:
> InControl mOutputReference;
> plugins/osc/LibloSink.hxx:    InControl _in1;
> plugins/osc/LibloSink.hxx:    InControl _in2;
> plugins/osc/LibloSink.hxx:    InControl _in3;
>
> On Wed, Feb 4, 2009 at 4:29 PM, David García Garzón 
<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
> > https://llistes.projectes.lafarga.org/cgi-bin/mailman/listinfo/clam-devel






More information about the clam-devel mailing list