custom_wave.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:1k
源码类别:

midi

开发平台:

Unix_Linux

  1. #ifndef CUSTOM_WAVE_H
  2. #define CUSTOM_WAVE_H
  3. #define CUSTOM_WAVE_DEBUG 0
  4. #include "expr_types.h"
  5. #include "custom_wave_types.h"
  6. #include "preset_types.h"
  7. #include "splaytree.h"
  8. #include "init_cond.h"
  9. void free_custom_wave(custom_wave_t * custom_wave);
  10. custom_wave_t * new_custom_wave(int id);
  11. void free_per_point_eqn(per_point_eqn_t * per_point_eqn);
  12. per_point_eqn_t * new_per_point_eqn(int index, param_t * param,gen_expr_t * gen_expr);
  13. void reset_per_point_eqn_array(custom_wave_t * custom_wave);
  14. custom_wave_t * find_custom_wave(int id, preset_t * preset, int create_flag);
  15. int add_per_point_eqn(char * name, gen_expr_t * gen_expr, custom_wave_t * custom_wave);
  16. void evalCustomWaveInitConditions();
  17. void evalPerPointEqns();
  18. custom_wave_t * nextCustomWave();
  19. void load_unspecified_init_conds(custom_wave_t * custom_wave);
  20. static inline void eval_custom_wave_init_conds(custom_wave_t * custom_wave) {
  21.   splay_traverse(eval_init_cond, custom_wave->init_cond_tree);
  22.   splay_traverse(eval_init_cond, custom_wave->per_frame_init_eqn_tree);
  23. }
  24. #endif