73 lines
2.0 KiB
C
73 lines
2.0 KiB
C
#ifndef _BASS_TREBLE_EQ_CONFIG_H_
|
||
#define _BASS_TREBLE_EQ_CONFIG_H_
|
||
|
||
#include "spinlock.h"
|
||
#include "math.h"
|
||
#include "effects/audio_eq.h"
|
||
|
||
struct bass_treble_gain_range {
|
||
int iir_type;
|
||
int center_frequency;
|
||
float Q;
|
||
float min_gain;
|
||
float max_gain;
|
||
float cur_gain;//在线调试时用于与工具交互显示,并控制当前增益。但存储效果文件内的值不用做当前gain
|
||
};
|
||
|
||
typedef struct bass_treble_tool_parm { //工具界面调音结构
|
||
u32 type;//默认0xaa:标识工具参数,
|
||
u32 fade_time;
|
||
float fade_step;
|
||
float global_gain;
|
||
struct bass_treble_gain_range range[3];
|
||
} bass_treble_param_tool_set;
|
||
|
||
struct seg_gain {
|
||
int index;
|
||
float gain;
|
||
};
|
||
struct bass_treble_parm { //旋钮调音结构
|
||
u32 type;//默认0xaa:标识工具参数
|
||
u32 fade_time;
|
||
float fade_step;
|
||
float global_gain;
|
||
struct seg_gain gain;
|
||
} ;
|
||
|
||
struct bass_treble_default_parm {
|
||
char name[16];
|
||
u32 type;
|
||
float global_gain;
|
||
float gain[3];//[0]:低音增益 [1]:中音增益 [2]:高音增益
|
||
char cfg_index;//如果使用配置项的序号,指定默认配置项
|
||
char mode_index;//节点与多模式关联时,该变量用于获取相应模式下的节点参数.模式序号(如,蓝牙模式下,无多子模式,mode_index 是0)
|
||
};
|
||
|
||
#define BASS_TREBLE_PARM_INIT (1UL<<0)
|
||
#define BASS_TREBLE_PARM_GET (1UL<<2)
|
||
#define BASS_TREBLE_PARM_SET (1UL<<4)
|
||
#define BASS_TREBLE_PARM_SET_GLOBAL_GAIN (1UL<<6)
|
||
#define BASS_TREBLE_PARM_TOO_SET 0xaa
|
||
|
||
enum bass_treble_eff {
|
||
BASS_TREBLE_LOW = 0,
|
||
BASS_TREBLE_MID = 1,
|
||
BASS_TREBLE_HIGH = 2,
|
||
};
|
||
|
||
|
||
|
||
/*******************************************************************/
|
||
// 兼容旧接口
|
||
#define AUDIO_EQ_HIGH 2
|
||
#define AUDIO_EQ_BASS 3
|
||
struct high_bass {
|
||
int freq;
|
||
int gain; //增益范围 -48 ~ 48
|
||
};
|
||
void mix_out_high_bass(u32 cmd, struct high_bass *hb);
|
||
/*******************************************************************/
|
||
|
||
|
||
#endif
|