| | |
| | | |
| | | u32 tg_param_convert::InputParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | enum GainID { |
| | | enum Input_ID{ |
| | | GAIN = 0x1, |
| | | MUTE, |
| | | SENSI, |
| | | PHANTOM, |
| | | |
| | | PHASE = 9, |
| | | STEP,//-500~+500 |
| | | }; |
| | | TYPE, |
| | | FREQ, |
| | | LEVEL, |
| | | NAME, |
| | | PHASE, |
| | | STEP, |
| | | LINK, |
| | | CHANNEL_LEVEL, |
| | | |
| | | enum PitchID { |
| | | PITCH_BYPASS = 0x1,// |
| | | PITCH_SEMITONES,// |
| | | INPUT_MIN, |
| | | INPUT_MAX, |
| | | }; |
| | | |
| | | if(handle == NULL) return 1; |
| | |
| | | |
| | | val[1] = RESSIGNBIT(pInput->input[i].gain); m->Ctrl(GAIN, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].mute); m->Ctrl(MUTE, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].level); m->Ctrl(LEVEL, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].sensitivity); m->Ctrl(SENSI, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].phant); m->Ctrl(PHANTOM, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].phase); m->Ctrl(PHASE, val, 2); |
| | | |
| | | val[1] = RESSIGNBIT(pInput->input[i].type); m->Ctrl(TYPE, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].freq); m->Ctrl(FREQ, val, 2); |
| | | val[1] = RESSIGNBIT(pInput->input[i].level); m->Ctrl(LEVEL, val, 2); |
| | | } |
| | | |
| | | return 0; |
| | |
| | | |
| | | for(i=0 ;i < pmixer->output_num ;i ++) { |
| | | for(j =0 ;j < pmixer->input_num ;j++) { |
| | | val[0] = j; val[1] = i ; val[2] = (pmixer->input_mask[i][j/15]>>(j&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | val[0] = j; val[1] = i ; val[2] = RESSIGNBIT(pmixer->input_gain[i][j]); m->Ctrl(MIXER_GAIN, val, 3); |
| | | val[0] = j; val[1] = i; val[2] = (pmixer->input_mask[i][j/15]>>(j&15))&0x1; m->Ctrl(MIXER_SWITCH, val, 3); |
| | | // printf("oich %d %d= %x %x %x\n", i,j, val[0],val[1],val[2]); |
| | | val[0] = j; val[1] = i; val[2] = RESSIGNBIT(pmixer->input_gain[i][j]); m->Ctrl(MIXER_GAIN, val, 3); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | u32 tg_param_convert::FeedbackParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | // enum NHSID{ |
| | | // FB_BYPASS = 0x1, |
| | | // FB_PANIC, |
| | | // FB_THRS, |
| | | // FB_FLT_DEPTH, |
| | | // FB_STEP, |
| | | // FB_FLT_Q, |
| | | // FB_RECYCLETIME, |
| | | // |
| | | // FB_FLT_FREQ, |
| | | // FB_FLT_GAIN, |
| | | // FB_FLT_TYPE, |
| | | // |
| | | // FB_CLEAR, // |
| | | // FB_CLEAR_DYNAMIC,// |
| | | // }; |
| | | |
| | | enum NHSID{ |
| | | FB_BYPASS= 0x1, |
| | | FB_FLT_FREQ, |
| | |
| | | |
| | | if(handle == NULL) return 1; |
| | | |
| | | short val[4]; |
| | | short val[4] = {0,0,0,0}; |
| | | ptag_aec paec = (ptag_aec)handle; |
| | | plen = sizeof(tag_aec); |
| | | |
| | | val[0] = paec->bypass; m->Ctrl(BYPASS, val, 1); |
| | | val[0] = paec->mode; m->Ctrl(NLPLEVEL, val, 1); |
| | | val[1] = paec->bypass; m->Ctrl(BYPASS, val, 2); |
| | | val[1] = paec->mode; m->Ctrl(NLPLEVEL, val, 2); |
| | | val[1] = 2; m->Ctrl(NSMODE, val, 2); |
| | | |
| | | return 0; |
| | | } |
| | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_convert::FirParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | enum FIRID { |
| | | FIR_BYPASS = 0x1, ////val[0]: 0-取消bypass, 1- 使能bypass |
| | | FIR_NAME, //无用 |
| | | FIR_TAPS, //无用 |
| | | FIR_COEFFS, //val: 分包,最大长度1024 float. 无转换直接拷贝float. |
| | | }; |
| | | if(NULL == handle) return 1; |
| | | |
| | | ptag_fir pfir = (ptag_fir)handle; |
| | | |
| | | plen = sizeof(tag_fir); |
| | | short val[4] = {0}; |
| | | val[0] = pfir->bypass; |
| | | int taps = pfir->taps; |
| | | const short *pcoeffs = (const short *)pfir->coeffs; |
| | | |
| | | m->Ctrl(FIR_BYPASS, val, 1); |
| | | m->Ctrl(FIR_COEFFS, pcoeffs, taps * 2); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | u32 tg_param_convert::EmptyParamCtrl(IModule* m, void* handle, int &plen) |
| | | { |
| | | if(handle == NULL) return 1; |