50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
#ifndef effectSUR_api_h__
|
|
#define effectSUR_api_h__
|
|
|
|
|
|
#include "AudioEffect_DataType.h"
|
|
|
|
|
|
|
|
/* enum */
|
|
// {
|
|
// EFFECT_CH_L = 0x10, //单声道输入,输出左声道
|
|
// EFFECT_CH_R = 0x20, //单声道输入,输出右声道
|
|
// EFFECT_CH2_L= 0x30, //双声道输入,输出2个左声道
|
|
// EFFECT_CH2_R = 0x40, //双声道输入,输出2个右声道
|
|
/* }; */
|
|
|
|
enum {
|
|
EFFECT_3D_TYPE0 = 0x01,
|
|
EFFECT_3D_TYPE1 = 0x02, //这2个2选1 :如果都置上,优先用EFFECT_3D_TYPE1
|
|
EFFECT_3D_LRDRIFT = 0x04,
|
|
EFFECT_3D_ROTATE = 0X08, //这2个2选1 : 如果都置上,优先用EFFECT_3D_ROTATE
|
|
EFFECT_3D_TYPE2 = 0x10,
|
|
EFFECT_3D_LRDRIFT2 = 0x20
|
|
};
|
|
|
|
typedef struct SurEFECT_PARM_SET {
|
|
int effectflag; //下拉框:可选项上面的enum
|
|
int rotatestep; //范围0到1000,文本框填值
|
|
int damping; //0到4096,文本框填值
|
|
int feedback; //0到128,文本框填值
|
|
int roomsize; //0到128 ,文本框填值
|
|
af_DataType dataTypeobj;
|
|
} SurEFECT_PARM_SET;
|
|
|
|
|
|
typedef struct __SUR_FUNC_API_ {
|
|
unsigned int (*need_buf)(SurEFECT_PARM_SET *surparm);
|
|
unsigned int (*open)(unsigned int *ptr, int nch, SurEFECT_PARM_SET *surparm);
|
|
unsigned int (*init)(unsigned int *ptr, SurEFECT_PARM_SET *surparm);
|
|
unsigned int (*run)(unsigned int *ptr, short *inbuf, short *outbuf, int len); // len是输入数据的总长byte
|
|
} SUR_FUNC_API;
|
|
|
|
|
|
extern SUR_FUNC_API *get_sur_func_api();
|
|
|
|
|
|
|
|
|
|
#endif // reverb_api_h__
|