⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reverb.h

📁 MIDI解码程序(用VC编写)
💻 H
📖 第 1 页 / 共 2 页
字号:
    int16 low_freq, high_freq, m1_freq, m2_freq;		/* in Hz */	int16 low_gain, high_gain, m1_gain, m2_gain;		/* in dB */	double m1_q, m2_q, level;	int32 leveli;	filter_shelving hsf, lsf;	filter_peaking m1, m2;} InfoStereoEQ;/*! Overdrive 1 / Distortion 1 */typedef struct {	double level;	int32 leveli, di;	/* in fixed-point */	int8 drive, pan, amp_sw, amp_type;	filter_moog svf;	filter_biquad lpf1;	void (*amp_sim)(int32 *, int32);} InfoOverdrive1;/*! OD1 / OD2 */typedef struct {	double level, levell, levelr;	int32 levelli, levelri, dli, dri;	/* in fixed-point */	int8 drivel, driver, panl, panr, typel, typer, amp_swl, amp_swr, amp_typel, amp_typer;	filter_moog svfl, svfr;	filter_biquad lpf1;	void (*amp_siml)(int32 *, int32), (*amp_simr)(int32 *, int32);	void (*odl)(int32 *, int32), (*odr)(int32 *, int32);} InfoOD1OD2;/*! HEXA-CHORUS */typedef struct {	delay buf0;	lfo lfo0;	double dry, wet, level;	int32 pdelay, depth;	/* in samples */	int8 pdelay_dev, depth_dev, pan_dev;	int32 dryi, weti;	/* in fixed-point */	int32 pan0, pan1, pan2, pan3, pan4, pan5;	int32 depth0, depth1, depth2, depth3, depth4, depth5,		pdelay0, pdelay1, pdelay2, pdelay3, pdelay4, pdelay5;	int32 spt0, spt1, spt2, spt3, spt4, spt5,		hist0, hist1, hist2, hist3, hist4, hist5;} InfoHexaChorus;/*! Plate Reverb */typedef struct {	delay pd, od1l, od2l, od3l, od4l, od5l, od6l, od7l,		od1r, od2r, od3r, od4r, od5r, od6r, od7r,		td1, td2, td1d, td2d;	lfo lfo1, lfo1d;	allpass ap1, ap2, ap3, ap4, ap6, ap6d;	mod_allpass ap5, ap5d;	filter_lowpass1 lpf1, lpf2;	int32 t1, t1d;	double decay, ddif1, ddif2, idif1, idif2, dry, wet;	int32 decayi, ddif1i, ddif2i, idif1i, idif2i, dryi, weti;} InfoPlateReverb;/*! Standard Reverb */typedef struct {	int32 spt0, spt1, spt2, spt3, rpt0, rpt1, rpt2, rpt3;	int32 ta, tb, HPFL, HPFR, LPFL, LPFR, EPFL, EPFR;	delay buf0_L, buf0_R, buf1_L, buf1_R, buf2_L, buf2_R, buf3_L, buf3_R;	double fbklev, nmixlev, cmixlev, monolev, hpflev, lpflev, lpfinp, epflev, epfinp, width, wet;	int32 fbklevi, nmixlevi, cmixlevi, monolevi, hpflevi, lpflevi, lpfinpi, epflevi, epfinpi, widthi, weti;} InfoStandardReverb;/*! Freeverb */#define numcombs 8#define numallpasses 4typedef struct {	delay pdelay;	double roomsize, roomsize1, damp, damp1, wet, wet1, wet2, width;	comb combL[numcombs], combR[numcombs];	allpass allpassL[numallpasses], allpassR[numallpasses];	int32 wet1i, wet2i;	int8 alloc_flag;} InfoFreeverb;/*! 3-Tap Stereo Delay Effect */typedef struct {	delay delayL, delayR;	int32 size[3], index[3];	double level[3], feedback, send_reverb;	int32 leveli[3], feedbacki, send_reverbi;} InfoDelay3;/*! Stereo Chorus Effect */typedef struct {	delay delayL, delayR;	lfo lfoL, lfoR;	int32 wpt0, spt0, spt1, hist0, hist1;	int32 rpt0, depth, pdelay;	double level, feedback, send_reverb, send_delay;	int32 leveli, feedbacki, send_reverbi, send_delayi;} InfoStereoChorus;/*! Chorus */typedef struct {	delay delayL, delayR;	lfo lfoL, lfoR;	int32 wpt0, spt0, spt1, hist0, hist1;	int32 rpt0, depth, pdelay;	double dry, wet, feedback, pdelay_ms, depth_ms, rate, phase_diff;	int32 dryi, weti, feedbacki;} InfoChorus;/*! Stereo Overdrive / Distortion */typedef struct {	double level, dry, wet, drive, cutoff;	int32 dryi, weti, di;	filter_moog svfl, svfr;	filter_biquad lpf1;	void (*od)(int32 *, int32);} InfoStereoOD;/*! Delay L,C,R */typedef struct {	delay delayL, delayR;	int32 index[3], size[3];	/* L,C,R */	double rdelay, ldelay, cdelay, fdelay;	/* in ms */	double dry, wet, feedback, clevel, high_damp;	int32 dryi, weti, feedbacki, cleveli;	filter_lowpass1 lpf;} InfoDelayLCR;/*! Delay L,R */typedef struct {	delay delayL, delayR;	int32 index[2], size[2];	/* L,R */	double rdelay, ldelay, fdelay1, fdelay2;	/* in ms */	double dry, wet, feedback, high_damp;	int32 dryi, weti, feedbacki;	filter_lowpass1 lpf;} InfoDelayLR;/*! Echo */typedef struct {	delay delayL, delayR;	int32 index[2], size[2];	/* L1,R1 */	double rdelay1, ldelay1, rdelay2, ldelay2;	/* in ms */	double dry, wet, lfeedback, rfeedback, high_damp, level;	int32 dryi, weti, lfeedbacki, rfeedbacki, leveli;	filter_lowpass1 lpf;} InfoEcho;/*! Cross Delay */typedef struct {	delay delayL, delayR;	double lrdelay, rldelay;	/* in ms */	double dry, wet, feedback, high_damp;	int32 dryi, weti, feedbacki, input_select;	filter_lowpass1 lpf;} InfoCrossDelay;/*! Lo-Fi 1 */typedef struct {	int8 lofi_type, pan, pre_filter, post_filter;	double level, dry, wet;	int32 bit_mask, dryi, weti;	filter_biquad pre_fil, post_fil;} InfoLoFi1;/*! Lo-Fi 2 */typedef struct {	int8 wp_sel, disc_type, hum_type, ms, pan, rdetune, lofi_type, fil_type;	double wp_level, rnz_lev, discnz_lev, hum_level, dry, wet, level;	int32 bit_mask, wp_leveli, rnz_levi, discnz_levi, hum_keveki, dryi, weti;	filter_biquad fil, wp_lpf, hum_lpf, disc_lpf;} InfoLoFi2;/*! LO-FI */typedef struct {	int8 output_gain, word_length, filter_type, bit_assign, emphasis;	double dry, wet;	int32 bit_mask, dryi, weti;	filter_biquad lpf, srf;} InfoLoFi;/*! XG: Auto Wah */typedef struct {	int8 lfo_depth, drive;	double resonance, lfo_freq, offset_freq, dry, wet;	int32 dryi, weti, fil_count, fil_cycle;	lfo lfo;	filter_moog_dist fil0, fil1;} InfoXGAutoWah;typedef struct {	double level;	int32 leveli;	filter_biquad lpf;} InfoXGAutoWahOD;/*                             *//*        System Effect        *//*                             *//* Reverb Effect */extern void do_ch_reverb(int32 *, int32);extern void do_mono_reverb(int32 *, int32);extern void set_ch_reverb(int32 *, int32, int32);extern void init_reverb(void);extern void reverb_rc_event(int, int32);extern void do_ch_reverb_xg(int32 *, int32);/* Chorus Effect */extern void do_ch_chorus(int32 *, int32);extern void set_ch_chorus(int32 *, int32, int32);extern void init_ch_chorus(void);extern void do_ch_chorus_xg(int32 *, int32);/* Delay (Celeste) Effect */extern void do_ch_delay(int32 *, int32);extern void set_ch_delay(int32 *, int32, int32);extern void init_ch_delay(void);/* EQ */extern void init_eq_gs(void);extern void set_ch_eq_gs(int32 *, int32);extern void do_ch_eq_gs(int32 *, int32);extern void do_ch_eq_xg(int32 *, int32, struct part_eq_xg *); extern void do_multi_eq_xg(int32 *, int32);/* GS parameters of reverb effect */struct reverb_status_gs_t{	/* GS parameters */	int8 character, pre_lpf, level, time, delay_feedback, pre_delay_time;	InfoStandardReverb info_standard_reverb;	InfoPlateReverb info_plate_reverb;	InfoFreeverb info_freeverb;	InfoDelay3 info_reverb_delay;	filter_lowpass1 lpf;} reverb_status_gs;struct chorus_text_gs_t{    int status;    uint8 voice_reserve[18], macro[3], pre_lpf[3], level[3], feed_back[3],		delay[3], rate[3], depth[3], send_level[3];};/* GS parameters of chorus effect */struct chorus_status_gs_t{	/* GS parameters */	int8 macro, pre_lpf, level, feedback, delay, rate, depth, send_reverb, send_delay;	struct chorus_text_gs_t text;	InfoStereoChorus info_stereo_chorus;	filter_lowpass1 lpf;} chorus_status_gs;/* GS parameters of delay effect */struct delay_status_gs_t{	/* GS parameters */	int8 type, level, level_center, level_left, level_right,		feedback, pre_lpf, send_reverb, time_c, time_l, time_r;    double time_center;			/* in ms */    double time_ratio_left, time_ratio_right;		/* in pct */	/* for pre-calculation */	int32 sample_c, sample_l, sample_r;	double level_ratio_c, level_ratio_l, level_ratio_r,		feedback_ratio, send_reverb_ratio;	filter_lowpass1 lpf;	InfoDelay3 info_delay;} delay_status_gs;/* GS parameters of channel EQ */struct eq_status_gs_t{	/* GS parameters */    int8 low_freq, high_freq, low_gain, high_gain;	filter_shelving hsf, lsf;} eq_status_gs;/* XG parameters of Multi EQ */struct multi_eq_xg_t{	/* XG parameters */	int8 type, gain1, gain2, gain3, gain4, gain5,		freq1, freq2, freq3, freq4, freq5,		q1, q2, q3, q4, q5, shape1, shape5;	int8 valid, valid1, valid2, valid3, valid4, valid5;	filter_shelving eq1s, eq5s;	filter_peaking eq1p, eq2p, eq3p, eq4p, eq5p;} multi_eq_xg;pink_noise global_pink_noise_light;#endif /* ___REVERB_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -