Allolib
1.0
C++ Components For Interactive Multimedia
|
Public Types | |
typedef const std::function< al::Color(al::Color)> | ParameterProcessCallback |
typedef const std::function< void(al::Color)> | ParameterChangeCallback |
typedef const std::function< void(al::Color, ValueSource *)> | ParameterChangeCallbackSrc |
typedef const std::function< void(ValueSource *)> | ParameterMetaChangeCallbackSrc |
Public Member Functions | |
ParameterColor (std::string parameterName, std::string Group="", al::Color defaultValue=al::Color()) | |
ParameterColor | operator= (const al::Color vec) |
virtual void | sendValue (osc::Send &sender, std::string prefix="") override |
virtual void | getFields (std::vector< ParameterField > &fields) override |
virtual void | setFields (std::vector< ParameterField > &fields) override |
virtual void | set (al::Color value, ValueSource *src=nullptr) |
set the parameter's value More... | |
void | set (ParameterMeta *p) |
virtual void | reset () |
reset value to default value | |
virtual void | setNoCalls (al::Color value, void *blockReceiver=nullptr) |
set the parameter's value without calling callbacks More... | |
void | setLocking (al::Color value) |
set the parameter's value forcing a lock More... | |
virtual al::Color | get () |
get the parameter's value More... | |
virtual al::Color | getPrevious () |
Get previous value. More... | |
void | min (al::Color minValue, ValueSource *src=nullptr) |
set the minimum value for the parameter More... | |
al::Color | min () const |
void | max (al::Color maxValue, ValueSource *src=nullptr) |
set the maximum value for the parameter More... | |
al::Color | max () const |
void | setDefault (const al::Color &defaultValue) |
al::Color | 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< al::Color > * > | operator<< (ParameterWrapper< al::Color > &newParam) |
std::vector< ParameterWrapper< al::Color > * > & | operator<< (std::vector< ParameterWrapper< al::Color > * > ¶mVector) |
operator al::Color () | |
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 | |
virtual float | toFloat () |
Generic function to return the value of the parameter as a float. More... | |
virtual bool | fromFloat (float value) |
Generic function to set the parameter from a single float value. More... | |
void | setHint (std::string hintName, float hintValue) |
float | getHint (std::string hintName, bool *exists=nullptr) |
virtual void | sendMeta (osc::Send &sender, std::string bundleName="", std::string id="") |
Protected Member Functions | |
void | runChangeCallbacksSynchronous (al::Color &value, ValueSource *src) |
Protected Attributes | |
al::Color | mMin |
al::Color | mMax |
al::Color | mValue |
al::Color | mValueCache |
al::Color | 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 |
Definition at line 1411 of file al_Parameter.hpp.
|
inlinevirtualinherited |
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 in al::ParameterChoice, al::ParameterMenu, al::ParameterString, al::Trigger, al::ParameterBool, al::ParameterInt, and al::Parameter.
Definition at line 303 of file al_Parameter.hpp.
|
virtualinherited |
get the parameter's value
This function is thread-safe and can be called from any number of threads
Definition at line 470 of file al_Parameter.hpp.
|
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.
|
virtualinherited |
Get previous value.
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.
|
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.
|
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.
|
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.
cb |
Definition at line 553 of file al_Parameter.hpp.
|
inlinevirtualinherited |
set the parameter's value
This function is thread-safe and can be called from any number of threads. It blocks to lock a mutex so its use in critical contexts should be avoided.
Definition at line 405 of file al_Parameter.hpp.
|
inlineinherited |
set the parameter's value forcing a lock
No callbacks are called.
Definition at line 457 of file al_Parameter.hpp.
|
inlinevirtualinherited |
set the parameter's value without calling callbacks
This function is thread-safe and can be called from any number of threads. It blocks to lock a mutex so its use in critical contexts should be avoided. 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.
This function marks the parameter as changed, so you can process callbacks by calling processChange()
Definition at line 436 of file al_Parameter.hpp.
|
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.
cb | The callback function |
Definition at line 542 of file al_Parameter.hpp.
|
inlineinherited |
Determines whether value change callbacks are called synchronously.
synchronous | If 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.
|
inlinevirtualinherited |
Generic function to return the value of the parameter as a float.
If not implemented, it will return 0.
Reimplemented in al::ParameterChoice, al::ParameterMenu, al::ParameterString, al::Trigger, al::ParameterBool, al::ParameterInt, and al::Parameter.
Definition at line 294 of file al_Parameter.hpp.