Kestrel Interface
Loading...
Searching...
No Matches
kest_effect.h
Go to the documentation of this file.
1#ifndef KEST_INT_TRANSFORMER_H_
2#define KEST_INT_TRANSFORMER_H_
3
4#define TRANSFORMER_MODE_FULL_SPECTRUM 0
5#define TRANSFORMER_MODE_UPPER_SPECTRUM 1
6#define TRANSFORMER_MODE_LOWER_SPECTRUM 2
7#define TRANSFORMER_MODE_BAND 3
8
9#define TRANSFORMER_WET_MIX_PID 0xFFFF
10
11#define TRANSFORMER_BAND_LP_CUTOFF_PID 0xFFFE
12#define TRANSFORMER_BAND_HP_CUTOFF_PID 0xFFFD
13#define TRANSFORMER_BAND_MODE_SID 0xFFFF
14
15struct kest_profile;
16struct kest_ui_page;
17
18typedef struct kest_effect
19{
20 uint16_t type;
21 uint16_t id;
22
24
30
33
34 kest_parameter_pll *parameters;
35 kest_setting_pll *settings;
36
38
39 #ifdef KEST_ENABLE_UI
40 struct kest_ui_page *view_page;
41 #endif
42
45
46 #ifdef KEST_USE_FREERTOS
47 SemaphoreHandle_t mutex;
48 #endif
49
50 #ifdef KEST_ENABLE_REPRESENTATIONS
51 kest_representation_pll *reps;
52 kest_representation profile_rep;
53 #endif
55
56const char *kest_effect_name(kest_effect *effect);
57
59
60int init_effect(kest_effect *effect);
61
62int effect_set_id(kest_effect *effect, uint16_t profile_id, uint16_t effect_id);
64
67
68int init_default_effect_by_type(kest_effect *effect, uint16_t type, uint16_t profile_id, uint16_t effect_id);
70
71#ifdef KEST_ENABLE_UI
72int effect_init_ui_page(kest_effect *effect, struct kest_ui_page *parent);
73
74void add_effect_from_menu(lv_event_t *e);
75#endif
76
77int request_append_effect(uint16_t type, kest_effect *local);
78#ifdef USE_TEENSY
79void effect_receive_id(kest_message message, kest_response response);
80#endif
81
82int clone_effect(kest_effect *dest, kest_effect *src);
83void free_effect(kest_effect *effect);
84
87
89 kest_effect *effect,
90 const kest_eff_resource_report *cxt,
93 );
94
95
97
99
100int kest_effect_set_parameter(kest_effect *effect, const char *name, float value);
101int kest_effect_set_setting(kest_effect *effect, const char *name, int value);
102
104void kest_effect_profile_rep_update(void *representer, void *representee);
105
106struct kest_ui_page;
108
109#endif
void free_effect(kest_effect *effect)
int kest_effect_init_view_page(kest_effect *effect, struct kest_ui_page *parent)
int effect_rectify_param_ids(kest_effect *effect)
int kest_effect_set_parameter(kest_effect *effect, const char *name, float value)
int init_effect(kest_effect *effect)
Definition kest_effect.c:29
int init_effect_from_effect_desc(kest_effect *effect, kest_effect_desc *eff)
kest_parameter * effect_add_parameter(kest_effect *effect)
const char * kest_effect_name(kest_effect *effect)
Definition kest_effect.c:17
int clone_effect(kest_effect *dest, kest_effect *src)
int kest_fpga_transfer_batch_append_effect(kest_effect *effect, const kest_eff_resource_report *cxt, kest_eff_resource_report *report, kest_fpga_transfer_batch *batch)
int kest_effect_set_setting(kest_effect *effect, const char *name, int value)
int init_default_effect_by_type(kest_effect *effect, uint16_t type, uint16_t profile_id, uint16_t effect_id)
int request_append_effect(uint16_t type, kest_effect *local)
int kest_effect_update_fpga_registers(kest_effect *effect)
void kest_effect_profile_rep_update(void *representer, void *representee)
kest_setting * effect_add_setting(kest_effect *effect)
kest_setting * effect_get_setting(kest_effect *effect, int n)
kest_expr_scope * kest_effect_create_scope(kest_effect *effect)
int effect_set_id(kest_effect *effect, uint16_t profile_id, uint16_t effect_id)
kest_parameter * effect_get_parameter(kest_effect *effect, int n)
int kest_effect_update_reps(kest_effect *effect)
#define DECLARE_LINKED_PTR_LIST(X)
kest_setting band_mode
Definition kest_effect.h:25
kest_expr_scope * scope
Definition kest_effect.h:44
kest_setting_pll * settings
Definition kest_effect.h:35
kest_parameter band_center
Definition kest_effect.h:28
uint16_t id
Definition kest_effect.h:21
kest_parameter band_width
Definition kest_effect.h:29
kest_parameter band_lp_cutoff
Definition kest_effect.h:26
kest_parameter band_hp_cutoff
Definition kest_effect.h:27
kest_parameter wet_mix
Definition kest_effect.h:23
int block_position
Definition kest_effect.h:32
kest_effect_desc * eff
Definition kest_effect.h:43
struct kest_profile * profile
Definition kest_effect.h:37
kest_parameter_pll * parameters
Definition kest_effect.h:34
uint16_t type
Definition kest_effect.h:20
struct kest_ui_page * parent
Definition kest_ui.h:109