A float passthrough transform that will only pass that value through if it is "sufficiently different" from the last value passed through.
More...
|
| ChangeFilter (float min_delta=0.0, float max_delta=9999.0, int max_skips=99, const String &config_path="") |
|
virtual void | set (const float &new_value) override |
|
virtual bool | to_json (JsonObject &root) override |
|
virtual bool | from_json (const JsonObject &config) override |
|
| SymmetricTransform (String config_path="") |
|
| Transform (String config_path="") |
|
Transform< float, float > * | connect_from (ValueProducer< float > *producer0, ValueProducer< float > *producer1=NULL, ValueProducer< float > *producer2=NULL, ValueProducer< float > *producer3=NULL, ValueProducer< float > *producer4=NULL) |
|
| TransformBase (const String &config_path) |
|
| FileSystemSaveable (const String &config_path) |
|
virtual bool | load () override |
| Load and populate the object from a persistent storage.
|
|
virtual bool | save () override |
| Save the object to a persistent storage.
|
|
virtual bool | clear () override |
| Delete the data from a persistent storage.
|
|
bool | find_config_file (const String &config_path, String &filename) |
|
| Saveable (const String &config_path) |
|
virtual bool | refresh () |
| Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state.
|
|
const String & | get_config_path () const |
|
virtual void | set_input (const float &new_value) |
|
void | connect_from (ValueProducer< float > *producer) |
|
| ValueProducer () |
|
| ValueProducer (const float &initial_value) |
|
virtual const float & | get () const |
|
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
| Connect a producer to a transform with a different input type.
|
|
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
|
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
|
void | emit (const float &new_value) |
|
| Observable () |
|
| Observable (Observable &&other) |
| Move constructor.
|
|
void | notify () |
|
void | attach (std::function< void()> observer) |
|
A float passthrough transform that will only pass that value through if it is "sufficiently different" from the last value passed through.
More specifically, the absolute value of the difference between the new value and the last passed value has to be greater than or equal to the specified min_delta, and less than or equal to the specified max_delta. If the consecutive skip count ever reaches max_skips, the value will be let through regardless.
- Parameters
-
min_delta | If the change from the last passed value is less than min_delta, it will not be passed. Default = 0.0. |
max_delta | If the change from the last passed value is more than max_delta, it will not be passed. Default = 9999.0. |
max_skips | If max_skips inputs have already been skipped, the current input will be passed even if it's between min_delta and max_delta, and max_skips will be reset to 0. |
config_path | The path to configure this transform in the Config UI. |
Definition at line 34 of file change_filter.h.