Allolib  1.0
C++ Components For Interactive Multimedia
al::ParameterBool Class Reference

#include <C:/Users/Andres/source/repos/casm_viewer/external/tinc/external/allolib/include/al/ui/al_Parameter.hpp>

Inheritance diagram for al::ParameterBool:
al::Parameter al::ParameterWrapper< float > al::ParameterMeta

Public Types

typedef const std::function< float(float)> ParameterProcessCallback
 
typedef const std::function< void(float)> ParameterChangeCallback
 
typedef const std::function< void(float, ValueSource *)> ParameterChangeCallbackSrc
 
typedef const std::function< void(ValueSource *)> ParameterMetaChangeCallbackSrc
 

Public Member Functions

 ParameterBool (std::string parameterName, std::string Group="", float defaultValue=0, float min=0, float max=1.0)
 ParameterBool. More...
 
 ParameterBool (std::string parameterName, std::string Group, float defaultValue, std::string prefix, float min=0, float max=1.0)
 
bool operator= (bool value)
 
virtual float toFloat () override
 Generic function to return the value of the parameter as a float. More...
 
virtual bool fromFloat (float value) override
 Generic function to set the parameter from a single float value. More...
 
virtual void getFields (std::vector< ParameterField > &fields) override
 
virtual void setFields (std::vector< ParameterField > &fields) override
 
virtual void sendMeta (osc::Send &sender, std::string bundleName="", std::string id="") override
 
virtual float get () override
 get the parameter's value More...
 
virtual void setFields (std::vector< ParameterField > &fields) override
 
virtual void set (float value, ValueSource *src=nullptr) override
 set the parameter's value More...
 
void set (ParameterMeta *p)
 
virtual void setNoCalls (float value, void *blockReceiver=nullptr) override
 set the parameter's value without calling callbacks More...
 
virtual void sendValue (osc::Send &sender, std::string prefix="") override
 
virtual void reset ()
 reset value to default value
 
void setLocking (float value)
 set the parameter's value forcing a lock More...
 
virtual float getPrevious ()
 Get previous value. More...
 
void min (float minValue, ValueSource *src=nullptr)
 set the minimum value for the parameter More...
 
float min () const
 
void max (float maxValue, ValueSource *src=nullptr)
 set the maximum value for the parameter More...
 
float max () const
 
void setDefault (const float &defaultValue)
 
float getDefault () const
 
void setProcessingCallback (ParameterProcessCallback cb)
 setProcessingCallback sets a callback to be called whenever the parameter value changes More...
 
void registerChangeCallback (ParameterChangeCallback cb)
 registerChangeCallback adds a callback to be called when the value changes More...
 
void registerChangeCallback (ParameterChangeCallbackSrc cb)
 
void registerMetaChangeCallback (ParameterMetaChangeCallbackSrc cb)
 
void setSynchronousCallbacks (bool synchronous=true)
 Determines whether value change callbacks are called synchronously. More...
 
bool hasChange ()
 
bool processChange ()
 call change callbacks if value has changed since last call
 
std::vector< ParameterWrapper< float > * > operator<< (ParameterWrapper< float > &newParam)
 
std::vector< ParameterWrapper< float > * > & operator<< (std::vector< ParameterWrapper< float > * > &paramVector)
 
 operator float ()
 
std::string getFullAddress ()
 return the full OSC address for the parameter More...
 
std::string getName ()
 getName returns the name of the parameter
 
std::string displayName ()
 returns the text that should accompany parameters when displayed
 
void displayName (std::string displayName)
 sets the text that should accompany parameters when displayed
 
std::string getGroup ()
 getGroup returns the name of the group for the parameter
 
void setHint (std::string hintName, float hintValue)
 
float getHint (std::string hintName, bool *exists=nullptr)
 

Protected Member Functions

void runChangeCallbacksSynchronous (float &value, ValueSource *src)
 

Protected Attributes

float mMin
 
float mMax
 
float mValue
 
float mValueCache
 
float mDefault
 
std::shared_ptr< ParameterProcessCallback > mProcessCallback
 
bool mChanged
 
std::string mFullAddress
 
std::string mParameterName
 
std::string mDisplayName
 
std::string mGroup
 
std::map< std::string, float > mHints
 

Detailed Description

ParamaterBool

Definition at line 904 of file al_Parameter.hpp.

Constructor & Destructor Documentation

◆ ParameterBool()

al::ParameterBool::ParameterBool ( std::string  parameterName,
std::string  Group = "",
float  defaultValue = 0,
float  min = 0,
float  max = 1.0 
)

ParameterBool.

Parameters
parameterNameThe name of the parameter
GroupThe group the parameter belongs to
defaultValueThe initial value for the parameter
prefixAn address prefix that is prepended to the parameter's OSC address
minValue when off/false
maxValue when on/true

This ParameterBool class is designed for boolean parameters that have float values for on or off states. It relies on floats being atomic on the platform.

Member Function Documentation

◆ fromFloat()

virtual bool al::ParameterBool::fromFloat ( float  value)
inlineoverridevirtual

Generic function to set the parameter from a single float value.

Will only have effect on parameters that have a single internal value and have implemented this function. Returns true if paramter is able to set value from float

Reimplemented from al::Parameter.

Definition at line 937 of file al_Parameter.hpp.

◆ get()

virtual float al::Parameter::get
overridevirtual

get the parameter's value

This function is thread-safe and can be called from any number of threads

Returns
the parameter value

Reimplemented from al::Parameter.

◆ getFullAddress()

std::string al::ParameterMeta::getFullAddress ( )
inlineinherited

return the full OSC address for the parameter

The parameter needs to be registered to a ParameterServer to listen to OSC values on this address

Definition at line 267 of file al_Parameter.hpp.

◆ getPrevious()

float al::ParameterWrapper< float >::getPrevious
virtualinherited

Get previous value.

Returns

This function is only useful when queried from a value callback. It will represent the previous value of the parameter in that case.

Definition at line 479 of file al_Parameter.hpp.

◆ max()

void al::ParameterWrapper< float >::max ( ParameterType  maxValue,
ValueSource src = nullptr 
)
inlineinherited

set the maximum value for the parameter

The value returned by the get() function will be clamped and will not go over the value set by this function.

Definition at line 501 of file al_Parameter.hpp.

◆ min()

void al::ParameterWrapper< float >::min ( ParameterType  minValue,
ValueSource src = nullptr 
)
inlineinherited

set the minimum value for the parameter

The value returned by the get() function will be clamped and will not go under the value set by this function.

Definition at line 487 of file al_Parameter.hpp.

◆ registerChangeCallback()

void al::ParameterWrapper< float >::registerChangeCallback ( ParameterChangeCallback  cb)
inherited

registerChangeCallback adds a callback to be called when the value changes

This function appends the callback to a list of callbacks to be called whenever a value changes.

Parameters
cb

Definition at line 553 of file al_Parameter.hpp.

◆ set()

virtual void al::Parameter::set ( float  value,
ValueSource src = nullptr 
)
overridevirtualinherited

set the parameter's value

This function is thread-safe and can be called from any number of threads It does not block and relies on the atomicity of float.

Reimplemented from al::ParameterWrapper< float >.

◆ setLocking()

void al::ParameterWrapper< float >::setLocking ( ParameterType  value)
inlineinherited

set the parameter's value forcing a lock

No callbacks are called.

Definition at line 457 of file al_Parameter.hpp.

◆ setNoCalls()

virtual void al::Parameter::setNoCalls ( float  value,
void *  blockReceiver = nullptr 
)
overridevirtualinherited

set the parameter's value without calling callbacks

This function is thread-safe and can be called from any number of threads. The processing callback is called, but the callbacks registered with registerChangeCallback() are not called. This is useful to avoid infinite recursion when a widget sets the parameter that then sets the widget.

Reimplemented from al::ParameterWrapper< float >.

◆ setProcessingCallback()

void al::ParameterWrapper< float >::setProcessingCallback ( typename ParameterWrapper< float >::ParameterProcessCallback  cb)
inherited

setProcessingCallback sets a callback to be called whenever the parameter value changes

Setting a callback can be useful when specific actions need to be taken whenever a parameter changes, but it can also be used to modify the value of the incoming parameter value before it is stored in the parameter. The registered callback must return the value to be stored in the parameter. Only one callback may be registered here.

Parameters
cbThe callback function
Returns
the transformed value

Definition at line 542 of file al_Parameter.hpp.

◆ setSynchronousCallbacks()

void al::ParameterWrapper< float >::setSynchronousCallbacks ( bool  synchronous = true)
inlineinherited

Determines whether value change callbacks are called synchronously.

Parameters
synchronousIf set to true, parameter change callbacks are called directly from the setter function, i.e. as soon as the parameter value changes. This behavior might be problematic in some cases, for example when an OSC message triggers a change in the opengl state. This will cause a crash as the opengl functions need to be called from the opengl context instead of from a thread in the network context. By setting this to false and then calling runChangeCallbacks within the opengl thread will call the callbacks whenever the value has changed, but at the right time, in the right context.

Definition at line 573 of file al_Parameter.hpp.

◆ toFloat()

virtual float al::ParameterBool::toFloat ( )
inlineoverridevirtual

Generic function to return the value of the parameter as a float.

If not implemented, it will return 0.

Reimplemented from al::Parameter.

Definition at line 935 of file al_Parameter.hpp.


The documentation for this class was generated from the following file: