| | |
| | | * Created on: 2025年7月24日 |
| | | * Author: 86189 |
| | | */ |
| | | #include <stdio.h> |
| | | #include "IModule.h" |
| | | #include "module_def.h" |
| | | #include "tg_user_ctrl.h" |
| | | |
| | | |
| | | u32 tg_param_ctrl::Signalgen_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Signalgen_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum SGItemType{ |
| | | SG_MUTE = 0x1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Input_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Input_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum GainID { |
| | | enum Input_ID{ |
| | | GAIN = 0x1, |
| | | MUTE, |
| | | SENSI, |
| | | PHANTOM, |
| | | |
| | | PHASE = 9, |
| | | STEP,//-500~+500 |
| | | TYPE, |
| | | FREQ, |
| | | LEVEL, |
| | | NAME, |
| | | PHASE, |
| | | STEP, |
| | | LINK, |
| | | CHANNEL_LEVEL, |
| | | |
| | | INPUT_MIN, |
| | | INPUT_MAX, |
| | | }; |
| | | |
| | | |
| | | enum PitchID { |
| | | PITCH_BYPASS = 0x1,// |
| | | PITCH_SEMITONES,// |
| | | }; |
| | | |
| | | |
| | | short val[4]; |
| | | int channel = val_c[0]&(MAX_INPUT_NUM-1); |
| | | int channel = val_c[0];//&(MAX_INPUT_NUM-1); |
| | | |
| | | if(pID == INPUT_STEP) { |
| | | val[0] = channel; val[1] = RESSIGNBIT(val_c[1]); |
| | | m->Ctrl(STEP, val, 2); |
| | | } |
| | | else { |
| | | val[0] = channel; val[1] = RESSIGNBIT(val_c[1]); |
| | | m->Ctrl(pID, val, 2); |
| | | } |
| | | val[0] = channel; val[1] = RESSIGNBIT(val_c[1]); |
| | | m->Ctrl(pID, val, 2); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Gain_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Gain_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum GainID { |
| | | GAIN = 0x1, |
| | |
| | | }; |
| | | |
| | | short val[4]; |
| | | int channel = val_c[0]&(MAX_INPUT_NUM-1); |
| | | int channel = val_c[0];//&(MAX_INPUT_NUM-1); |
| | | |
| | | if(pID == 0x20) { |
| | | val[0] = channel; val[1] = RESSIGNBIT(val_c[1]); |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Output_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Output_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum GainID { |
| | | GAIN = 0x1, |
| | |
| | | }; |
| | | |
| | | short val[4]; |
| | | int channel = val_c[0]&(MAX_OUTPUT_NUM-1); |
| | | int channel = val_c[0];//&(MAX_OUTPUT_NUM-1); |
| | | |
| | | short cmd[16] = {GAIN, MUTE, 0, PHASE, SENSI, STEP, 0, 0, 0, 0, 0, 0 ,0 ,0 ,0 ,0 }; |
| | | val[0] = channel; |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Mixer_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Mixer_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | short val[4]; |
| | | |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Crossover_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Crossover_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum CFilterID { |
| | | _BYPASS = 0x1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | // enum NHSID{ |
| | | // FB_BYPASS = 0x1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Automixer_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Automixer_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum GainSharingAMID { |
| | | AM_BYPASS =0x1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Aec_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Aec_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum AECID{ |
| | | BYPASS = 0X1, |
| | |
| | | AGC_GAIN, |
| | | }; |
| | | |
| | | short val[4] = {0,0,0,0}; |
| | | short cmd[3] = {0, BYPASS, NLPLEVEL}; |
| | | |
| | | short val[4]; |
| | | short cmd[12] = {0, BYPASS, NLPLEVEL, 0, 0,0}; |
| | | |
| | | val[0] = RESSIGNBIT(val_c[0]); |
| | | val[1] = RESSIGNBIT(val_c[1]); |
| | | m->Ctrl(cmd[pID], val, 1); |
| | | val[1] = RESSIGNBIT(val_c[0]); |
| | | m->Ctrl(cmd[pID], val, 2); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Sysctl_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Sysctl_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum SYSCTRLID{ |
| | | SYSCTL_MUTE = 0x1, //val[0]:0-unmute,1-mute |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Geq_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Geq_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum EQID{ |
| | | EQ_BYPASS_ALL = 0x1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Reverb_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Reverb_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | short val[4]; |
| | | |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Echo_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::Echo_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum EchoID{ |
| | | ECHO_BYPASS = 1, |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::General_Ctrl(IModule* m, u32 pID, s16* val_c) |
| | | u32 tg_param_ctrl::General_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | short val[4]; |
| | | |
| | |
| | | val[1] = RESSIGNBIT(val_c[1]); |
| | | |
| | | m->Ctrl(pID, val, 2); |
| | | // printf("pID:%d v[0]:%d v[1]:%d\n", pID, val[0], val[1]); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_ctrl::Fir_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num) |
| | | { |
| | | enum FIRID { |
| | | FIR_BYPASS = 0x1, ////val[0]: 0-取消bypass, 1- 使能bypass |
| | | FIR_NAME, //无用 |
| | | FIR_TAPS, //无用 |
| | | FIR_COEFFS, //val: 分包,最大长度1024 float. 无转换直接拷贝float. |
| | | }; |
| | | s16 val[4]; |
| | | val[0] = RESSIGNBIT(val_c[0]); |
| | | |
| | | if(FIR_BYPASS == pID){ |
| | | m->Ctrl(pID, val, 1); // val[0] is bypass or nobypass |
| | | } |
| | | else if (FIR_COEFFS == pID){ |
| | | m->Ctrl(pID, val_c, num); |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |