81 lines
2.2 KiB
C
81 lines
2.2 KiB
C
#ifndef effect_surTheta_h__
|
||
#define effect_surTheta_h__
|
||
|
||
typedef struct _PointSound360TD_PARM_SET {
|
||
int theta;
|
||
int volume;
|
||
} PointSound360TD_PARM_SET;
|
||
|
||
//混响参数
|
||
typedef struct _RP_PARM_CONIFG {
|
||
int trackKIND; //角度合成算法用哪一种 :0或者1
|
||
int ReverbKIND; //2或者3
|
||
int reverbance; //湿声比例 : 0~100
|
||
int dampingval; //高频decay :0~80
|
||
} RP_PARM_CONIFG;
|
||
|
||
typedef struct _PointSound360Reverb_PARM_SET {
|
||
unsigned char reverbance; //0-100: //reverb parm
|
||
unsigned char dampingval; //0-100% //reverb parm
|
||
unsigned char voltrack; // 0-1 // vol track
|
||
char doangle; // 0 or 1
|
||
|
||
char diangle; // 0-360 : 2 channel angle
|
||
unsigned char wet; //0-100://backgroud
|
||
unsigned char dry; //0-100 ://voice part
|
||
char reverb_kind; //reverb kind
|
||
|
||
unsigned short k1_w; //0-2000: output wetgain
|
||
unsigned short k1_d; //0-2000: output drygain
|
||
|
||
char reverb_part; // 0-128 // mix wet and wet_dry reverb
|
||
|
||
char reserved0;
|
||
short dest_vol; // dest vol;
|
||
|
||
} PointSound360Reverb_PARM_SET;
|
||
|
||
//角度合成算法定义
|
||
enum {
|
||
P360_T0 = 0,
|
||
P360_T1 = 1
|
||
};
|
||
|
||
//混响算法定义
|
||
enum {
|
||
P360_R0 = 2,
|
||
P360_R1 = 3
|
||
};
|
||
|
||
enum {
|
||
PSOUND_BOTH = 0,
|
||
PSOUND_L = 1,
|
||
PSOUND_R = 2
|
||
};
|
||
|
||
enum {
|
||
P360TD_NO_REV = 0,
|
||
P360TD_REV_K0 = 1,
|
||
P360TD_REV_K1 = 2,
|
||
P360TD_REV_K3 = 3,
|
||
P360TD_REV_K4 = 4
|
||
};
|
||
|
||
|
||
|
||
|
||
typedef struct __PointSound360TD_FUNC_API_ {
|
||
unsigned int (*need_buf)(int flag);
|
||
unsigned int (*open)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm, PointSound360Reverb_PARM_SET *reverb_parm, int ch_mode);
|
||
unsigned int (*init)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm);
|
||
unsigned int (*run)(unsigned int *ptr, short *inbuf, short *out, int len); // len是sizePerChannel
|
||
unsigned int (*open_config)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm, RP_PARM_CONIFG *sound360_configparm);
|
||
} PointSound360TD_FUNC_API;
|
||
|
||
|
||
|
||
extern PointSound360TD_FUNC_API *get_PointSound360TD_func_api();
|
||
|
||
|
||
#endif // reverb_api_h__
|