#pragma once #include "Effect.h" #include "effect_clock.h" #include "effect_timer.h" struct EffectEntry { const char* name; bool use_in_cycle; std::function create; #ifdef MQTT_REPORT_METRICS int16_t heap_change_sum; uint16_t run_count; #endif }; extern EffectEntry effects[]; extern const uint8_t effects_size; extern Effect* current_effect; extern ClockEffect effect_clock; extern TimerEffect effect_timer; Effect* select_effect(char* name); Effect* select_effect(uint8_t id); bool change_current_effect(String s); void setup_effects();