Kestrel Interface
Loading...
Searching...
No Matches
kest_eff_desc.c
Go to the documentation of this file.
1#include "kest_int.h"
2
3#ifndef PRINTLINES_ALLOWED
4#define PRINTLINES_ALLOWED 0
5#endif
6
8
10{
11 if (!eff) return ERR_NULL_PTR;
12
13 eff->parameters = NULL;
14 eff->resources = NULL;
15 eff->settings = NULL;
16 eff->blocks = NULL;
17 eff->scope = NULL;
18 eff->cname = NULL;
19 eff->name = NULL;
20
21 eff->def_exprs = NULL;
22
23 return NO_ERROR;
24}
25
27{
28 if (!eff)
29 return ERR_NULL_PTR;
30
31 unsigned int blocks = 0;
32 unsigned int memory = 0;
33 unsigned int delays = 0;
34 unsigned int filters = 0;
35
36 kest_block_pll *cb = eff->blocks;
37
38 while (cb)
39 {
40 blocks++;
41 cb = cb->next;
42 }
43
44 kest_dsp_resource_pll *cr = eff->resources;
45
46 while (cr)
47 {
48 if (cr->data)
49 {
50 switch (cr->data->type)
51 {
53 memory += cr->data->mem_size;
54 break;
56 delays += 1;
57 break;
59 filters += 1;
60 break;
61 }
62 }
63 cr = cr->next;
64 }
65
66 eff->res_rpt.blocks = blocks;
67 eff->res_rpt.memory = memory;
68 eff->res_rpt.delays = delays;
69 eff->res_rpt.filters = filters;
70
71 return NO_ERROR;
72}
73
75{
76 if (!eff)
77 return NULL;
78
80
81 if (!scope)
82 return NULL;
83
84 kest_parameter_pll *current = eff->parameters;
85
86 while (current)
87 {
88 if (current->data)
89 kest_expr_scope_add_param(scope, current->data);
90
91 current = current->next;
92 }
93
94 return scope;
95}
int kest_init_effect_desc(kest_effect_desc *eff)
int kest_effect_desc_generate_res_rpt(kest_effect_desc *eff)
kest_expr_scope * kest_eff_desc_create_scope(kest_effect_desc *eff)
#define NO_ERROR
#define ERR_NULL_PTR
int kest_expr_scope_add_param(kest_expr_scope *scope, kest_parameter *param)
kest_expr_scope * kest_new_expr_scope()
#define IMPLEMENT_LINKED_PTR_LIST(X)
#define KEST_DSP_RESOURCE_MEM
#define KEST_DSP_RESOURCE_FILTER
#define KEST_DSP_RESOURCE_DELAY
kest_parameter_pll * parameters
kest_block_pll * blocks
kest_setting_pll * settings
kest_expr_scope * scope
const char * cname
kest_dsp_resource_pll * resources
const char * name
kest_eff_resource_report res_rpt
kest_named_expression_pll * def_exprs