From ab07ada908b82340e7acd899e85a9802cf8a9057 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 18 九月 2025 14:09:22 +0800
Subject: [PATCH] 首轮测试版代码常规上传

---
 src/tg/tg_param_convert.cpp |   76 +++++++++++++++++++++++--------------
 1 files changed, 47 insertions(+), 29 deletions(-)

diff --git a/src/tg/tg_param_convert.cpp b/src/tg/tg_param_convert.cpp
index 4f3c400..26f9e16 100644
--- a/src/tg/tg_param_convert.cpp
+++ b/src/tg/tg_param_convert.cpp
@@ -57,19 +57,23 @@
 
 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;
@@ -84,9 +88,14 @@
 
 		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;
@@ -303,8 +312,9 @@
 
 		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);
 			}
 		}
 	}
@@ -364,23 +374,6 @@
 
 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,
@@ -502,12 +495,13 @@
 
 	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;
 }
@@ -848,6 +842,30 @@
 	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;

--
Gitblit v1.9.3