Kestrel Interface
Loading...
Searching...
No Matches
kest_effect_init.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
7static const char *unit_string_ = "";
8static const char *unit_string_hz = " Hz";
9static const char *unit_string_ms = " ms";
10static const char *unit_string_db = " dB";
11static const char *unit_string_bpm = " bpm";
12
13static const char *FNAME = "kest_effect_init.c";
15{
16 if (!effect)
17 return ERR_NULL_PTR;
18
20 effect->view_page = NULL;
21
22 kest_parameter *param;
23
24 param = effect_add_parameter(effect);
25
26 if (!param)
27 return ERR_ALLOC_FAIL;
28
29 param->id.parameter_id = 0;
30
31 param->value = 0.0;
32 param->max = 18.0;
33 param->min = -18.0;
34 param->name = "Low";
35 param->units = unit_string_db;
37 param->group = 0;
39
40 param = effect_add_parameter(effect);
41
42 if (!param)
43 return ERR_ALLOC_FAIL;
44
45 param->id.parameter_id = 1;
46
47 param->value = 0.0;
48 param->max = 18.0;
49 param->min = -18.0;
50 param->name = "Mid";
51 param->units = unit_string_db;
53 param->group = 0;
55
56 param = effect_add_parameter(effect);
57
58 if (!param)
59 return ERR_ALLOC_FAIL;
60
61 param->id.parameter_id = 2;
62
63 param->value = 0.0;
64 param->max = 18.0;
65 param->min = -18.0;
66 param->name = "High";
67 param->units = unit_string_db;
69 param->group = 0;
71
72 return NO_ERROR;
73}
74
75
77{
78 if (!effect)
79 return ERR_NULL_PTR;
80
82 effect->view_page = NULL;
83
84 kest_parameter *param;
85
86 param = effect_add_parameter(effect);
87
88 if (!param)
89 return ERR_ALLOC_FAIL;
90
91 param->id.parameter_id = 0;
92
93 param->value = 0;
94 param->max = 12;
95 param->min = -12;
96 param->name = "Gain";
97 param->units = unit_string_db;
99 param->group = -1;
101
102
103 kest_setting *setting;
104
105 setting = effect_add_setting(effect);
106
107 if (!setting)
108 return ERR_ALLOC_FAIL;
109
110 setting->id.setting_id = 0;
111
112 setting->value = 1;
113 setting->max = 255;
114 setting->min = 0;
115 setting->name = "Mode";
116 setting->units = unit_string_;
117 setting->group = -1;
120 setting->n_options = 2;
121 setting->options = kest_alloc(sizeof(kest_setting) * 2);
122 if (!setting->options) return ERR_ALLOC_FAIL;
123
124 setting->options[0].value = 0;
125 setting->options[0].name = "Linear";
126
127 setting->options[1].value = 1;
128 setting->options[1].name = "dB";
129
130 return NO_ERROR;
131}
132
133
135{
136 if (!effect)
137 return ERR_NULL_PTR;
138
140 effect->view_page = NULL;
141
142 kest_parameter *param;
143
144 param = effect_add_parameter(effect);
145
146 if (!param)
147 return ERR_ALLOC_FAIL;
148
149 param->id.parameter_id = 0;
150
151 param->value = 1000.0;
152 param->max = 10000.0;
153 param->min = 1.0;
154 param->name = "Center";
155 param->units = unit_string_hz;
157 param->group = -1;
159
160 param = effect_add_parameter(effect);
161
162 if (!param)
163 return ERR_ALLOC_FAIL;
164
165 param->id.parameter_id = 1;
166
167 param->value = 100.0;
168 param->max = 10000.0;
169 param->min = 1.0;
170 param->name = "Bandwidth";
171 param->units = unit_string_hz;
173 param->group = -1;
175
176 return NO_ERROR;
177}
178
179
181{
182 if (!effect)
183 return ERR_NULL_PTR;
184
186 effect->view_page = NULL;
187
188 kest_parameter *param;
189
190 param = effect_add_parameter(effect);
191
192 if (!param)
193 return ERR_ALLOC_FAIL;
194
195 param->id.parameter_id = 0;
196
197 param->value = 2.0;
198 param->max = 10.0;
199 param->min = 1.0;
200 param->name = "Ratio";
201 param->units = unit_string_;
203 param->group = -1;
205
206 param = effect_add_parameter(effect);
207
208 if (!param)
209 return ERR_ALLOC_FAIL;
210
211 param->id.parameter_id = 1;
212
213 param->value = -5.0;
214 param->max = -30.0;
215 param->min = 0.0;
216 param->name = "Threshold";
217 param->units = unit_string_db;
219 param->group = -1;
221
222 param = effect_add_parameter(effect);
223
224 if (!param)
225 return ERR_ALLOC_FAIL;
226
227 param->id.parameter_id = 2;
228
229 param->value = 30.0;
230 param->max = 250.0;
231 param->min = 0.01;
232 param->name = "Attack";
233 param->units = unit_string_ms;
235 param->group = -1;
237
238 param = effect_add_parameter(effect);
239
240 if (!param)
241 return ERR_ALLOC_FAIL;
242
243 param->id.parameter_id = 3;
244
245 param->value = 30.0;
246 param->max = 250.0;
247 param->min = 0.01;
248 param->name = "Release";
249 param->units = unit_string_ms;
251 param->group = -1;
253
254 return NO_ERROR;
255}
256
257
259{
260 if (!effect)
261 return ERR_NULL_PTR;
262
263 effect->type = TRANSFORMER_DELAY;
264 effect->view_page = NULL;
265
266 kest_parameter *param;
267
268 param = effect_add_parameter(effect);
269
270 if (!param)
271 return ERR_ALLOC_FAIL;
272
273 param->id.parameter_id = 0;
274
275 param->value = -6.0;
276 param->max = 0.0;
277 param->min = -12;
278 param->name = "Delay Gain";
279 param->units = unit_string_db;
281 param->group = 0;
283
284
285 kest_setting *setting;
286
287 setting = effect_add_setting(effect);
288
289 if (!setting)
290 return ERR_ALLOC_FAIL;
291
292 setting->id.setting_id = 0;
293
294 setting->value = 120;
295 setting->max = 1000;
296 setting->min = 1;
297 setting->name = "Tempo";
298 setting->units = unit_string_;
299 setting->group = 1;
302 setting->n_options = 0;
303 setting->options = NULL;
304 setting = effect_add_setting(effect);
305
306 if (!setting)
307 return ERR_ALLOC_FAIL;
308
309 setting->id.setting_id = 1;
310
311 setting->value = 4;
312 setting->max = 255;
313 setting->min = 0;
314 setting->name = "Note";
315 setting->units = unit_string_;
316 setting->group = 2;
319 setting->n_options = 5;
320 setting->options = kest_alloc(sizeof(kest_setting) * 5);
321 if (!setting->options) return ERR_ALLOC_FAIL;
322
323 setting->options[0].value = 1;
324 setting->options[0].name = "Whole";
325
326 setting->options[1].value = 2;
327 setting->options[1].name = "Half";
328
329 setting->options[2].value = 4;
330 setting->options[2].name = "Quarter";
331
332 setting->options[3].value = 8;
333 setting->options[3].name = "Eighth";
334
335 setting->options[4].value = 16;
336 setting->options[4].name = "Sixteenth";
337
338 return NO_ERROR;
339}
340
341
343{
344 if (!effect)
345 return ERR_NULL_PTR;
346
348 effect->view_page = NULL;
349
350 kest_parameter *param;
351
352 param = effect_add_parameter(effect);
353
354 if (!param)
355 return ERR_ALLOC_FAIL;
356
357 param->id.parameter_id = 0;
358
359 param->value = 5;
360 param->max = 10;
361 param->min = 0;
362 param->name = "Fuzz";
363 param->units = unit_string_;
365 param->group = -1;
367
368 return NO_ERROR;
369}
370
371
373{
374 if (!effect)
375 return ERR_NULL_PTR;
376
378 effect->view_page = NULL;
379
380 kest_parameter *param;
381
382 param = effect_add_parameter(effect);
383
384 if (!param)
385 return ERR_ALLOC_FAIL;
386
387 param->id.parameter_id = 0;
388
389 param->value = 4.0;
390 param->max = 15;
391 param->min = 0.0;
392 param->name = "Gain";
393 param->units = unit_string_;
395 param->group = -1;
397
398 param = effect_add_parameter(effect);
399
400 if (!param)
401 return ERR_ALLOC_FAIL;
402
403 param->id.parameter_id = 1;
404
405 param->value = 0.7;
406 param->max = 1.0;
407 param->min = 0.0;
408 param->name = "Wet Mix";
409 param->units = unit_string_;
411 param->group = -1;
413
414 param = effect_add_parameter(effect);
415
416 if (!param)
417 return ERR_ALLOC_FAIL;
418
419 param->id.parameter_id = 2;
420
421 param->value = 0.4;
422 param->max = 1.0;
423 param->min = 0.0;
424 param->name = "Bass Mix";
425 param->units = unit_string_;
427 param->group = -1;
429
430 param = effect_add_parameter(effect);
431
432 if (!param)
433 return ERR_ALLOC_FAIL;
434
435 param->id.parameter_id = 3;
436
437 param->value = 125;
438 param->max = 250;
439 param->min = 20;
440 param->name = "Bass Cutoff";
441 param->units = unit_string_hz;
443 param->group = -1;
445
446
447 kest_setting *setting;
448
449 setting = effect_add_setting(effect);
450
451 if (!setting)
452 return ERR_ALLOC_FAIL;
453
454 setting->id.setting_id = 0;
455
456 setting->value = 1;
457 setting->max = 255;
458 setting->min = 0;
459 setting->name = "Function";
460 setting->units = unit_string_;
461 setting->group = -1;
464 setting->n_options = 4;
465 setting->options = kest_alloc(sizeof(kest_setting) * 4);
466 if (!setting->options) return ERR_ALLOC_FAIL;
467
468 setting->options[0].value = 0;
469 setting->options[0].name = "Clip";
470
471 setting->options[1].value = 1;
472 setting->options[1].name = "Tanh";
473
474 setting->options[2].value = 2;
475 setting->options[2].name = "Arctan";
476
477 setting->options[3].value = 3;
478 setting->options[3].name = "Fold";
479
480 return NO_ERROR;
481}
482
483
485{
486 if (!effect)
487 return ERR_NULL_PTR;
488
489 effect->type = TRANSFORMER_ENVELOPE;
490 effect->view_page = NULL;
491
492 kest_parameter *param;
493
494 param = effect_add_parameter(effect);
495
496 if (!param)
497 return ERR_ALLOC_FAIL;
498
499 param->id.parameter_id = 0;
500
501 param->value = 200.0;
502 param->max = 500.0;
503 param->min = 50.0;
504 param->name = "Min Center";
505 param->units = unit_string_hz;
507 param->group = -1;
509
510 param = effect_add_parameter(effect);
511
512 if (!param)
513 return ERR_ALLOC_FAIL;
514
515 param->id.parameter_id = 1;
516
517 param->value = 2000.0;
518 param->max = 5000.0;
519 param->min = 200.0;
520 param->name = "Max Center";
521 param->units = unit_string_hz;
523 param->group = -1;
525
526 param = effect_add_parameter(effect);
527
528 if (!param)
529 return ERR_ALLOC_FAIL;
530
531 param->id.parameter_id = 2;
532
533 param->value = 0.25;
534 param->max = 1.0;
535 param->min = 0.1;
536 param->name = "Width";
537 param->units = unit_string_;
539 param->group = -1;
541
542 param = effect_add_parameter(effect);
543
544 if (!param)
545 return ERR_ALLOC_FAIL;
546
547 param->id.parameter_id = 3;
548
549 param->value = 2.9;
550 param->max = 0.5;
551 param->min = 200.0;
552 param->name = "Speed";
553 param->units = unit_string_ms;
555 param->group = -1;
557
558 param = effect_add_parameter(effect);
559
560 if (!param)
561 return ERR_ALLOC_FAIL;
562
563 param->id.parameter_id = 4;
564
565 param->value = 2.0;
566 param->max = 10.0;
567 param->min = 0.1;
568 param->name = "Sensitivity";
569 param->units = unit_string_;
571 param->group = -1;
573
574 param = effect_add_parameter(effect);
575
576 if (!param)
577 return ERR_ALLOC_FAIL;
578
579 param->id.parameter_id = 5;
580
581 param->value = 0.5;
582 param->max = 1.0;
583 param->min = 0.0;
584 param->name = "Smoothness";
585 param->units = unit_string_;
587 param->group = -1;
589
590 return NO_ERROR;
591}
592
593
595{
596 if (!effect)
597 return ERR_NULL_PTR;
598
599 effect->type = TRANSFORMER_FLANGER;
600 effect->view_page = NULL;
601
602 kest_parameter *param;
603
604 param = effect_add_parameter(effect);
605
606 if (!param)
607 return ERR_ALLOC_FAIL;
608
609 param->id.parameter_id = 0;
610
611 param->value = 0.5;
612 param->max = 1.0;
613 param->min = 0.0;
614 param->name = "Range";
615 param->units = unit_string_;
617 param->group = -1;
619
620 param = effect_add_parameter(effect);
621
622 if (!param)
623 return ERR_ALLOC_FAIL;
624
625 param->id.parameter_id = 1;
626
627 param->value = 4.0;
628 param->max = 10.0;
629 param->min = 0.1;
630 param->name = "Depth";
631 param->units = unit_string_ms;
633 param->group = -1;
635
636 param = effect_add_parameter(effect);
637
638 if (!param)
639 return ERR_ALLOC_FAIL;
640
641 param->id.parameter_id = 2;
642
643 param->value = 0.5;
644 param->max = 1.0;
645 param->min = 0.0;
646 param->name = "Mix";
647 param->units = unit_string_;
649 param->group = -1;
651
652 param = effect_add_parameter(effect);
653
654 if (!param)
655 return ERR_ALLOC_FAIL;
656
657 param->id.parameter_id = 3;
658
659 param->value = 120;
660 param->max = 300;
661 param->min = 30;
662 param->name = "Tempo";
663 param->units = unit_string_bpm;
665 param->group = -1;
667
668
669 kest_setting *setting;
670
671 setting = effect_add_setting(effect);
672
673 if (!setting)
674 return ERR_ALLOC_FAIL;
675
676 setting->id.setting_id = 0;
677
678 setting->value = 4;
679 setting->max = 255;
680 setting->min = 0;
681 setting->name = "Note";
682 setting->units = unit_string_;
683 setting->group = -1;
686 setting->n_options = 5;
687 setting->options = kest_alloc(sizeof(kest_setting) * 5);
688 if (!setting->options) return ERR_ALLOC_FAIL;
689
690 setting->options[0].value = 1;
691 setting->options[0].name = "Whole";
692
693 setting->options[1].value = 2;
694 setting->options[1].name = "Half";
695
696 setting->options[2].value = 4;
697 setting->options[2].name = "Quarter";
698
699 setting->options[3].value = 8;
700 setting->options[3].name = "Eighth";
701
702 setting->options[4].value = 16;
703 setting->options[4].name = "Sixteenth";
704
705 return NO_ERROR;
706}
707
708
710{
711 if (!effect)
712 return ERR_NULL_PTR;
713
715 effect->view_page = NULL;
716
717 kest_parameter *param;
718
719 param = effect_add_parameter(effect);
720
721 if (!param)
722 return ERR_ALLOC_FAIL;
723
724 param->id.parameter_id = 0;
725
726 param->value = 1000.0;
727 param->max = 10000.0;
728 param->min = 1.0;
729 param->name = "Cutoff Frequency";
730 param->units = unit_string_hz;
732 param->group = -1;
734
735 return NO_ERROR;
736}
737
738
740{
741 if (!effect)
742 return ERR_NULL_PTR;
743
745 effect->view_page = NULL;
746
747 kest_parameter *param;
748
749 param = effect_add_parameter(effect);
750
751 if (!param)
752 return ERR_ALLOC_FAIL;
753
754 param->id.parameter_id = 0;
755
756 param->value = 2.0;
757 param->max = 10.0;
758 param->min = 1.0;
759 param->name = "Bass Ratio";
760 param->units = unit_string_;
762 param->group = 1;
764
765 param = effect_add_parameter(effect);
766
767 if (!param)
768 return ERR_ALLOC_FAIL;
769
770 param->id.parameter_id = 1;
771
772 param->value = -12.0;
773 param->max = -30.0;
774 param->min = 0.0;
775 param->name = "Bass Threshold";
776 param->units = unit_string_db;
778 param->group = 1;
780
781 param = effect_add_parameter(effect);
782
783 if (!param)
784 return ERR_ALLOC_FAIL;
785
786 param->id.parameter_id = 2;
787
788 param->value = 10.0;
789 param->max = 250.0;
790 param->min = 0.01;
791 param->name = "Bass Attack";
792 param->units = unit_string_ms;
794 param->group = 2;
796
797 param = effect_add_parameter(effect);
798
799 if (!param)
800 return ERR_ALLOC_FAIL;
801
802 param->id.parameter_id = 3;
803
804 param->value = 200.0;
805 param->max = 250.0;
806 param->min = 0.01;
807 param->name = "Bass Release";
808 param->units = unit_string_ms;
810 param->group = 2;
812
813 param = effect_add_parameter(effect);
814
815 if (!param)
816 return ERR_ALLOC_FAIL;
817
818 param->id.parameter_id = 4;
819
820 param->value = 2.0;
821 param->max = 10.0;
822 param->min = 1.0;
823 param->name = "Mid Ratio";
824 param->units = unit_string_;
826 param->group = 3;
828
829 param = effect_add_parameter(effect);
830
831 if (!param)
832 return ERR_ALLOC_FAIL;
833
834 param->id.parameter_id = 5;
835
836 param->value = -8.0;
837 param->max = -30.0;
838 param->min = 0.0;
839 param->name = "Mid Threshold";
840 param->units = unit_string_db;
842 param->group = 3;
844
845 param = effect_add_parameter(effect);
846
847 if (!param)
848 return ERR_ALLOC_FAIL;
849
850 param->id.parameter_id = 6;
851
852 param->value = 20.0;
853 param->max = 250.0;
854 param->min = 0.01;
855 param->name = "Mid Attack";
856 param->units = unit_string_ms;
858 param->group = 4;
860
861 param = effect_add_parameter(effect);
862
863 if (!param)
864 return ERR_ALLOC_FAIL;
865
866 param->id.parameter_id = 7;
867
868 param->value = 200.0;
869 param->max = 250.0;
870 param->min = 0.01;
871 param->name = "Mid Release";
872 param->units = unit_string_ms;
874 param->group = 4;
876
877 return NO_ERROR;
878}
879
880
882{
883 if (!effect)
884 return ERR_NULL_PTR;
885
887 effect->view_page = NULL;
888
889 kest_parameter *param;
890
891 param = effect_add_parameter(effect);
892
893 if (!param)
894 return ERR_ALLOC_FAIL;
895
896 param->id.parameter_id = 0;
897
898 param->value = 100.0;
899 param->max = 10000.0;
900 param->min = 1.0;
901 param->name = "Cutoff Frequency";
902 param->units = unit_string_hz;
904 param->group = -1;
906
907 return NO_ERROR;
908}
909
910
912{
913 if (!effect)
914 return ERR_NULL_PTR;
915
917 effect->view_page = NULL;
918
919 kest_parameter *param;
920
921 param = effect_add_parameter(effect);
922
923 if (!param)
924 return ERR_ALLOC_FAIL;
925
926 param->id.parameter_id = 0;
927
928 param->value = -50;
929 param->max = -10;
930 param->min = -100;
931 param->name = "Threshold";
932 param->units = unit_string_;
934 param->group = -1;
936
937 param = effect_add_parameter(effect);
938
939 if (!param)
940 return ERR_ALLOC_FAIL;
941
942 param->id.parameter_id = 1;
943
944 param->value = -30;
945 param->max = -100;
946 param->min = 0;
947 param->name = "Max Reduction";
948 param->units = unit_string_;
950 param->group = -1;
952
953 param = effect_add_parameter(effect);
954
955 if (!param)
956 return ERR_ALLOC_FAIL;
957
958 param->id.parameter_id = 2;
959
960 param->value = 1.0;
961 param->max = 20.0;
962 param->min = 0.0;
963 param->name = "Ratio";
964 param->units = unit_string_;
966 param->group = -1;
968
969 return NO_ERROR;
970}
971
972
974{
975 if (!effect)
976 return ERR_NULL_PTR;
977
979 effect->view_page = NULL;
980
981 kest_parameter *param;
982
983 param = effect_add_parameter(effect);
984
985 if (!param)
986 return ERR_ALLOC_FAIL;
987
988 param->id.parameter_id = 0;
989
990 param->value = 120.0;
991 param->max = 300;
992 param->min = 20;
993 param->name = "Tempo";
994 param->units = unit_string_;
996 param->group = 0;
998
999 param = effect_add_parameter(effect);
1000
1001 if (!param)
1002 return ERR_ALLOC_FAIL;
1003
1004 param->id.parameter_id = 1;
1005
1006 param->value = 16.0;
1007 param->max = 32.0;
1008 param->min = 4.0;
1009 param->name = "Note";
1010 param->units = unit_string_;
1012 param->group = 0;
1014
1015 param = effect_add_parameter(effect);
1016
1017 if (!param)
1018 return ERR_ALLOC_FAIL;
1019
1020 param->id.parameter_id = 2;
1021
1022 param->value = 3.0;
1023 param->max = 4.0;
1024 param->min = 0.0;
1025 param->name = "Trigger Threshold";
1026 param->units = unit_string_;
1028 param->group = -1;
1030
1031 param = effect_add_parameter(effect);
1032
1033 if (!param)
1034 return ERR_ALLOC_FAIL;
1035
1036 param->id.parameter_id = 3;
1037
1038 param->value = 1.5;
1039 param->max = 2.0;
1040 param->min = 0.0;
1041 param->name = "Arm Threshold";
1042 param->units = unit_string_;
1044 param->group = -1;
1046
1047 param = effect_add_parameter(effect);
1048
1049 if (!param)
1050 return ERR_ALLOC_FAIL;
1051
1052 param->id.parameter_id = 4;
1053
1054 param->value = 2.9;
1055 param->max = 10.0;
1056 param->min = 0.5;
1057 param->name = "Fade In";
1058 param->units = unit_string_ms;
1060 param->group = -1;
1062
1063 param = effect_add_parameter(effect);
1064
1065 if (!param)
1066 return ERR_ALLOC_FAIL;
1067
1068 param->id.parameter_id = 5;
1069
1070 param->value = 6;
1071 param->max = 10.0;
1072 param->min = 0.5;
1073 param->name = "Fade Out";
1074 param->units = unit_string_ms;
1076 param->group = -1;
1078
1079 param = effect_add_parameter(effect);
1080
1081 if (!param)
1082 return ERR_ALLOC_FAIL;
1083
1084 param->id.parameter_id = 6;
1085
1086 param->value = 100.0;
1087 param->max = 700;
1088 param->min = 0.0;
1089 param->name = "Refractory Period";
1090 param->units = unit_string_ms;
1092 param->group = -1;
1094
1095 return NO_ERROR;
1096}
1097
1098
1100{
1101 if (!effect)
1102 return ERR_NULL_PTR;
1103
1104 effect->type = TRANSFORMER_WARBLER;
1105 effect->view_page = NULL;
1106
1107 kest_parameter *param;
1108
1109 param = effect_add_parameter(effect);
1110
1111 if (!param)
1112 return ERR_ALLOC_FAIL;
1113
1114 param->id.parameter_id = 0;
1115
1116 param->value = 440.0;
1117 param->max = 1500.0;
1118 param->min = 50.0;
1119 param->name = "Center";
1120 param->units = unit_string_hz;
1122 param->group = -1;
1124
1125 param = effect_add_parameter(effect);
1126
1127 if (!param)
1128 return ERR_ALLOC_FAIL;
1129
1130 param->id.parameter_id = 1;
1131
1132 param->value = 0.25;
1133 param->max = 1.0;
1134 param->min = 0.1;
1135 param->name = "Width";
1136 param->units = unit_string_;
1138 param->group = -1;
1140
1141 param = effect_add_parameter(effect);
1142
1143 if (!param)
1144 return ERR_ALLOC_FAIL;
1145
1146 param->id.parameter_id = 2;
1147
1148 param->value = 100;
1149 param->max = 0.5;
1150 param->min = 200.0;
1151 param->name = "Reactivity";
1152 param->units = unit_string_ms;
1154 param->group = -1;
1156
1157 param = effect_add_parameter(effect);
1158
1159 if (!param)
1160 return ERR_ALLOC_FAIL;
1161
1162 param->id.parameter_id = 3;
1163
1164 param->value = 2.0;
1165 param->max = 10.0;
1166 param->min = 0.1;
1167 param->name = "Sensitivity";
1168 param->units = unit_string_;
1170 param->group = -1;
1172
1173 param = effect_add_parameter(effect);
1174
1175 if (!param)
1176 return ERR_ALLOC_FAIL;
1177
1178 param->id.parameter_id = 4;
1179
1180 param->value = 0.25;
1181 param->max = 1.0;
1182 param->min = 0.0;
1183 param->name = "Min Rate";
1184 param->units = unit_string_;
1186 param->group = -1;
1188
1189 param = effect_add_parameter(effect);
1190
1191 if (!param)
1192 return ERR_ALLOC_FAIL;
1193
1194 param->id.parameter_id = 5;
1195
1196 param->value = 0.5;
1197 param->max = 3.0;
1198 param->min = 1.0;
1199 param->name = "Max Rate";
1200 param->units = unit_string_;
1202 param->group = -1;
1204
1205 return NO_ERROR;
1206}
1207
1208
1209int init_effect_of_type(kest_effect *effect, uint16_t type)
1210{
1211 if (!effect)
1212 return ERR_NULL_PTR;
1213
1214 int ret_val = init_effect(effect);
1215
1216 if (ret_val != NO_ERROR)
1217 return ret_val;
1218 switch (type)
1219 {
1220 case TRANSFORMER_3_BAND_EQ: return init_3_band_eq(effect);
1221 case TRANSFORMER_AMPLIFIER: return init_amplifier(effect);
1223 case TRANSFORMER_COMPRESSOR: return init_compressor(effect);
1224 case TRANSFORMER_DELAY: return init_delay(effect);
1225 case TRANSFORMER_DIRTY_OCTAVE: return init_dirty_octave(effect);
1226 case TRANSFORMER_DISTORTION: return init_distortion(effect);
1227 case TRANSFORMER_ENVELOPE: return init_envelope(effect);
1228 case TRANSFORMER_FLANGER: return init_flanger(effect);
1233 case TRANSFORMER_PERCUSSIFIER: return init_percussifier(effect);
1234 case TRANSFORMER_WARBLER: return init_warbler(effect);
1235 default: return ERR_BAD_ARGS;
1236 }
1237
1238 return NO_ERROR;
1239}
void * kest_alloc(size_t size)
Definition kest_alloc.c:11
int init_effect(kest_effect *effect)
Definition kest_effect.c:29
kest_parameter * effect_add_parameter(kest_effect *effect)
kest_setting * effect_add_setting(kest_effect *effect)
#define TRANSFORMER_FLANGER
#define TRANSFORMER_3_BAND_EQ
#define TRANSFORMER_PERCUSSIFIER
#define TRANSFORMER_DIRTY_OCTAVE
#define TRANSFORMER_AMPLIFIER
#define TRANSFORMER_HIGH_PASS_FILTER
#define TRANSFORMER_BAND_PASS_FILTER
#define TRANSFORMER_DISTORTION
#define TRANSFORMER_WARBLER
#define TRANSFORMER_ENVELOPE
#define TRANSFORMER_COMPRESSOR
#define TRANSFORMER_DELAY
#define TRANSFORMER_LOW_PASS_FILTER
#define TRANSFORMER_NOISE_SUPPRESSOR
#define TRANSFORMER_LOW_END_COMPRESSOR
int init_delay(kest_effect *effect)
int init_band_pass_filter(kest_effect *effect)
int init_distortion(kest_effect *effect)
int init_amplifier(kest_effect *effect)
int init_effect_of_type(kest_effect *effect, uint16_t type)
int init_compressor(kest_effect *effect)
int init_dirty_octave(kest_effect *effect)
int init_low_end_compressor(kest_effect *effect)
int init_low_pass_filter(kest_effect *effect)
int init_high_pass_filter(kest_effect *effect)
int init_3_band_eq(kest_effect *effect)
int init_percussifier(kest_effect *effect)
int init_noise_suppressor(kest_effect *effect)
int init_envelope(kest_effect *effect)
int init_flanger(kest_effect *effect)
int init_warbler(kest_effect *effect)
#define ERR_ALLOC_FAIL
#define ERR_BAD_ARGS
#define NO_ERROR
#define ERR_NULL_PTR
#define PARAMETER_SCALE_LINEAR
#define PARAMETER_SCALE_LOGARITHMIC
#define TRANSFORMER_SETTING_PAGE_SETTINGS
#define TRANSFORMER_SETTING_PAGE_MAIN
#define SETTING_WIDGET_DROPDOWN
#define PARAM_WIDGET_VIRTUAL_POT
#define SETTING_WIDGET_FIELD
#define PARAM_WIDGET_VSLIDER_TALL
uint16_t type
Definition kest_effect.h:20
const char * name
const char * units
kest_parameter_id id
kest_setting_option * options
const char * units
kest_setting_id id
const char * name