ÿþ#ifndef REVERB_H #define REVERB_H #include <stdio.h> #ifdef __cplusplus extern "C" { #endif //#define M_PI 3.14159265358979323f //#define DOUBLE_PI (2.0f * M_PI) typedef struct { int sample_rate; float dry; float early; float late; int input_mix_on; int high_cut_on; int low_cut_on; float input_mix; float high_cut; float low_cut; float cross_seed; }Reverb_common; typedef struct { // éegÍS\ int multi_taps_on; float taps_count; float taps_delay; float taps_decay; float taps_length; }Reverb_taps; typedef struct { // éegibce int early_difus_on; float early_count; float early_delay; float early_feedback; float early_mod_amt; float early_mod_rate; }Reverb_early; typedef struct { // Tg÷mÍT int late_mode; int late_reflect_on; float line_count; float line_size; float line_mod_amt; float line_decay; float line_mod_rate; float difus_count; float difus_delay; float difus_feedback; float difus_mod_amt; float difus_mod_rate; }Reverb_late; typedef struct { int low_shelf_on; int high_shelf_on; int low_pass_on; float low_shelf_freq; float low_shelf_gain; float high_shelf_freq; float high_shelf_gain; float low_pass_freq; }Reverb_eq; typedef struct { int channels; int frame_size; Reverb_common common; Reverb_taps taps; Reverb_early early; Reverb_late late; Reverb_eq eq; float *inL,*inR,*outL,*outR; FILE *file; }Reverb; typedef struct { float room_size; float drywet_ratio; float reverb_time; float pre_delay; float high_damp_freq; float high_ratio; float diffusion; float density; float hpf; float lpf; }ReverbUI; Reverb *reverb_new(int channels, int frame_size, Reverb_common *common, Reverb_taps *taps, Reverb_early *early, Reverb_late *late, Reverb_eq *eq); void reverb_process(Reverb *p, float **in, float **out); void reverb_delete(Reverb *p); void reverb_params_set(Reverb *p); #ifdef __cplusplus } #endif #endif