DIGILIGHT
main_effect.h
См. документацию.
1 
39 #ifndef MAIN_EFFECT_H_
40 #define MAIN_EFFECT_H_
41 
42 #include "global.h"
43 #include "sd_script.h"
44 
46 #define MAX_EFFECT_CNT 5
47 #define BACKGROUND_EFFECT 0
49 #define FOREGROUND_EFFECT 1
51 
53 typedef __flash const char * flash_str_t;
54 
56 typedef enum{
57  // любое положительное число или ноль - номер пресета
61 
62 typedef enum{
63  INFO_ONCE,
64  INFO_ALWAYS
65 } effect_info_t;
66 
68 typedef struct {
70  void (*start)(void);
71  void (*work)(signal_t *s);
72  preset_result_t (*preset)(int8_t d);
73  void (*stop)(void);
74  void (*save)(void);
75  effect_info_t (*info)(uint8_t show);
76 } effect_t;
77 
79 typedef const __flash effect_t flash_effect_t;
80 
82 void register_effect(uint8_t toe, flash_effect_t *eff);
84 void execute_effect(signal_t *s);
86 int8_t change_preset(signal_t *s, int8_t delta);
88 char* get_effect_name(signal_t *s);
90 void change_effect(signal_t *s, int8_t delta);
92 void select_fg_effect(signal_t *s, uint8_t num);
94 void select_bg_effect(signal_t *s, uint8_t num);
96 void save_all_effects(void);
98 //char* get_preset_name(signal_t *s);
99 void show_info(signal_t *s);
100 
102 uint8_t effect_auto_changed(signal_t *s);
103 
104 #endif /* MAIN_EFFECT_H_ */
105 
тип структуры описания эффекта
Definition: main_effect.h:68
void save_all_effects(void)
Сохранение настроек всех эффектов
Definition: main_effect.c:200
void show_info(signal_t *s)
Название текущего пресета для текущего эффекта
Definition: main_effect.c:136
void select_bg_effect(signal_t *s, uint8_t num)
Выбор пресета непосредственно
Definition: main_effect.c:184
нет пресетов
Definition: main_effect.h:58
void select_fg_effect(signal_t *s, uint8_t num)
Выбор эффекта непосредственно
Definition: main_effect.c:172
Общие описания
const __flash effect_t flash_effect_t
тип описания эффекта, размещенного во FLASH.
Definition: main_effect.h:79
структура параметров звукового сигнала
Definition: global.h:72
__flash const char * flash_str_t
указатель настроку во FLASH.
Definition: main_effect.h:53
flash_str_t name
название
Definition: main_effect.h:69
int8_t change_preset(signal_t *s, int8_t delta)
Смена пресета для текущегоэффекта последовательно
Definition: main_effect.c:94
отображать название пресета не надо
Definition: main_effect.h:59
preset_result_t
результат функции смены пресета
Definition: main_effect.h:56
Описания модуля скрипт-плейера
void register_effect(uint8_t toe, flash_effect_t *eff)
Регистрация эффекта в списках
Definition: main_effect.c:41
void change_effect(signal_t *s, int8_t delta)
Смена эффекта последовательно
Definition: main_effect.c:218
void execute_effect(signal_t *s)
Рендеринг эффекта
Definition: main_effect.c:63
char * get_effect_name(signal_t *s)
Название текущего эффекта
Definition: main_effect.c:112
uint8_t effect_auto_changed(signal_t *s)
Проверка смены фонового эффекта на основной или наоборот
Definition: main_effect.c:146