Kestrel Interface
Loading...
Searching...
No Matches
kest_parameter.h
Go to the documentation of this file.
1#ifndef KEST_INT_PARAMETER_H_
2#define KEST_INT_PARAMETER_H_
3
4#define PARAM_NAM_ENG_MAX_LEN 254
5
6#define PARAMETER_SCALE_LINEAR 0
7#define PARAMETER_SCALE_LOGARITHMIC 1
8
9#define KEST_STANDARD_GAIN_MIN -24
10#define KEST_STANDARD_GAIN_MAX 24
11
12typedef struct kest_parameter_id
13{
14 uint16_t profile_id;
15 uint16_t effect_id;
16 uint16_t parameter_id;
18
19struct kest_expression;
20
21typedef struct kest_parameter
22{
23 float value;
24 float min;
25 float max;
26
29
30 int scale;
31
33 float old_value;
34 float new_value;
35
37
39
40 float factor;
41
43 const char *name;
44 const char *name_internal;
45 const char *units;
46
47 int group;
48
49 #ifdef KEST_ENABLE_REPRESENTATIONS
50 kest_representation_pll *reps;
51 kest_representation effect_rep;
52 #endif
54
55typedef struct kest_setting_option
56{
57 uint16_t value;
58 const char *name;
60
61typedef struct kest_setting_id
62{
63 uint16_t profile_id;
64 uint16_t effect_id;
65 uint16_t setting_id;
67
68#define TRANSFORMER_SETTING_ENUM 0
69#define TRANSFORMER_SETTING_BOOL 1
70#define TRANSFORMER_SETTING_INT 2
71
72#define TRANSFORMER_SETTING_PAGE_SETTINGS 0
73#define TRANSFORMER_SETTING_PAGE_MAIN 1
74
75typedef struct kest_setting
76{
77 int value;
78
82
83 int type;
84 int page;
85
87
88 int min;
89 int max;
90
93
95 const char *name;
96 const char *name_internal;
97 const char *units;
98
99 int group;
100
101 #ifdef KEST_ENABLE_REPRESENTATIONS
102 kest_representation_pll *reps;
103 kest_representation effect_rep;
104 #endif
106
109
110typedef kest_setting_pll setting_ll;
111
113int init_parameter(kest_parameter *param, const char *name, float level, float min, float max);
114int init_parameter_wni(kest_parameter *param, const char *name, const char *name_internal, float level, float min, float max);
115
116int kest_parameters_assign_ids(kest_parameter_pll *list);
117int kest_settings_assign_ids(kest_setting_pll *list);
118
119kest_parameter *new_m_parameter_wni(const char *name, const char *name_internal, float level, float min, float max);
120
121int init_setting_str(kest_setting *setting);
122int init_setting(kest_setting *setting, const char *name, uint16_t level);
123
124struct kest_effect;
125
129void gut_parameter(kest_parameter *param);
131
135void gut_setting(kest_setting *setting);
136void kest_setting_free(kest_setting *setting);
137
138#ifdef KEST_ENABLE_GLOBAL_CONTEXT
139struct kest_interval;
140struct kest_interval kest_parameter_get_range(kest_parameter *param);
141#endif
142
143void kest_parameter_effect_rep_update(void *representer, void *representee);
144void kest_setting_effect_rep_update(void *representer, void *representee);
145
146#endif
#define DECLARE_LINKED_PTR_LIST(X)
int clone_setting(kest_setting *dest, kest_setting *src)
kest_parameter * kest_parameter_make_clone(kest_parameter *src)
int init_parameter(kest_parameter *param, const char *name, float level, float min, float max)
kest_setting_pll setting_ll
void kest_setting_effect_rep_update(void *representer, void *representee)
int init_parameter_str(kest_parameter *param)
kest_setting * kest_setting_make_clone(kest_setting *src)
kest_parameter * kest_parameter_make_clone_for_effect(kest_parameter *src, struct kest_effect *effect)
void gut_setting(kest_setting *setting)
int init_setting(kest_setting *setting, const char *name, uint16_t level)
void kest_setting_free(kest_setting *setting)
int init_setting_str(kest_setting *setting)
void kest_parameter_free(kest_parameter *param)
void clone_parameter(kest_parameter *dest, kest_parameter *src)
int kest_settings_assign_ids(kest_setting_pll *list)
kest_setting * kest_setting_make_clone_for_effect(kest_setting *src, struct kest_effect *effect)
int kest_parameters_assign_ids(kest_parameter_pll *list)
void gut_parameter(kest_parameter *param)
void kest_parameter_effect_rep_update(void *representer, void *representee)
kest_parameter * new_m_parameter_wni(const char *name, const char *name_internal, float level, float min, float max)
int init_parameter_wni(kest_parameter *param, const char *name, const char *name_internal, float level, float min, float max)
struct kest_expression * min_expr
const char * name_internal
const char * name
struct kest_expression * max_expr
const char * units
kest_parameter_id id
kest_setting_option * options
const char * units
kest_setting_id id
const char * name_internal
const char * name