4#ifndef PRINTLINES_ALLOWED
5#define PRINTLINES_ALLOWED 0
8#define DEFAULT_MAX_VELOCITY 1.0
13static const char *FNAME =
"kest_parameter.c";
35 #ifdef KEST_ENABLE_REPRESENTATIONS
37 param->effect_rep.representer = NULL;
38 param->effect_rep.representee = param;
40 kest_representation_pll_safe_append(¶m->reps, ¶m->effect_rep);
63 #ifdef KEST_ENABLE_REPRESENTATIONS
65 param->effect_rep.representer = NULL;
66 param->effect_rep.representee = param;
68 kest_representation_pll_safe_append(¶m->reps, ¶m->effect_rep);
101 setting->
name = NULL;
112 #ifdef KEST_ENABLE_REPRESENTATIONS
113 setting->reps = NULL;
114 setting->effect_rep.representer = NULL;
115 setting->effect_rep.representee = setting;
117 kest_representation_pll_safe_append(&setting->reps, &setting->effect_rep);
128 setting->
name = name;
129 setting->
value = level;
138 #ifdef KEST_ENABLE_REPRESENTATIONS
139 setting->reps = NULL;
140 setting->effect_rep.representer = NULL;
141 setting->effect_rep.representee = setting;
143 kest_representation_pll_safe_append(&setting->reps, &setting->effect_rep);
240 #ifdef KEST_ENABLE_REPRESENTATIONS
241 param->effect_rep.representer = (
void*)effect;
271 for (
int i = 0; i < dest->
n_options; i++)
325 #ifdef KEST_ENABLE_REPRESENTATIONS
326 setting->effect_rep.representer = (
void*)effect;
359 int next_parameter_id = 0;
362 kest_parameter_pll *current = list;
370 current->data->id.parameter_id = next_parameter_id++;
372 current = current->next;
381 int next_setting_id = 0;
384 kest_setting_pll *current = list;
392 current->data->id.setting_id = next_setting_id++;
394 current = current->next;
401#ifdef KEST_ENABLE_GLOBAL_CONTEXT
406 if (!param)
return i;
410 if (effect && !effect->
scope)
412 KEST_PRINTF(
"effect is not in posession of a scope... strange. generate it\n");
427 if (effect && effect->
scope)
449 if (effect && effect->
scope)
472 if (!effect || !param)
485 if (!effect || !setting)
void kest_free(void *ptr)
void * kest_alloc(size_t size)
kest_effect * cxt_get_effect_by_id(kest_context *cxt, uint16_t profile_id, uint16_t effect_id)
kest_expr_scope * kest_effect_create_scope(kest_effect *effect)
int kest_effect_update_reps(kest_effect *effect)
int kest_expression_is_constant(kest_expression *expr)
kest_interval kest_interval_real_line()
float kest_expression_evaluate(kest_expression *expr, kest_expr_scope *scope)
#define IMPLEMENT_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)
void kest_setting_effect_rep_update(void *representer, void *representee)
int init_parameter_str(kest_parameter *param)
int parameter_set_id(kest_parameter *param, uint16_t pid, uint16_t tid, uint16_t ppid)
kest_setting * kest_setting_make_clone(kest_setting *src)
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)
kest_setting * kest_setting_make_clone_for_effect(kest_setting *src, kest_effect *effect)
int kest_settings_assign_ids(kest_setting_pll *list)
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)
kest_parameter * kest_parameter_make_clone_for_effect(kest_parameter *src, kest_effect *effect)
#define DEFAULT_MAX_VELOCITY
int init_parameter_wni(kest_parameter *param, const char *name, const char *name_internal, float level, float min, float max)
#define PARAMETER_SCALE_LINEAR
#define TRANSFORMER_SETTING_PAGE_SETTINGS
#define TRANSFORMER_SETTING_INT
struct kest_expression * min_expr
const char * name_internal
struct kest_expression * max_expr
kest_setting_option * options
const char * name_internal