From 1ac2340f684bf8c0b05fb571f5994b0755050671 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 29 一月 2026 15:22:04 +0800
Subject: [PATCH] 更新删除输出第一通道后有电平无声音的情况

---
 src/tg/tg_param_convert.cpp |   44 ++++++++++++--------------------------------
 1 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/src/tg/tg_param_convert.cpp b/src/tg/tg_param_convert.cpp
index 5968698..0ce3246 100644
--- a/src/tg/tg_param_convert.cpp
+++ b/src/tg/tg_param_convert.cpp
@@ -62,8 +62,8 @@
 		MUTE,
 		SENSI,
 		PHANTOM,
-
 		TYPE,
+
 		FREQ,
 		LEVEL,
 		NAME,
@@ -313,7 +313,7 @@
 		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/16]>>(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]);
+//				dbg_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);
 			}
 		}
@@ -732,45 +732,25 @@
 
 u32 tg_param_convert::GeqParamCtrl(IModule* m, void* handle, int &plen)
 {
-	const s16 fc_10[]={31, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000 };
-	const s16 fc_15[]={25, 40, 63, 100, 160, 250, 400, 630, 1000, 1600, 2500, 4000, 6300, 10000, 16000};
-	const s16 fc_31[]={20, 25,31, 40, 50, 63, 80, 100, 125, 160, 200,250, 315, 400, 500, 630, 800, 1000, 1250, 1600,2000,2500, 3150, 4000, 5000, 6300, 8000, 10000,12500, 16000,20000};
-
-	enum EQID{
-		EQ_BYPASS_ALL = 0x1,
-		EQ_BYPASS,
-		EQ_FREQ,
-		EQ_GAIN,
-		EQ_QVALUE,
-		EQ_TYPE,
+	enum GEQID{
+		GEQ_BYPASS_ALL = 0x1,//val[0]: 0-取消bypass, 1- 使能bypass
+		GEQ_QVALUE,//val[0]: 1-narrow, 2-normal, 3-wide
+		GEQ_GAIN,//val[0]: 段序号,val[1] : 增益,乘以100,范围:-4800~2400
+		GEQ_CLEAR,//val[0]: 复位EQ参数
 	};
 
 	if(handle == NULL) return 1;
 
 	int i;
 	short val[4];
-	ptag_geq pgeq = (ptag_geq)handle ;
+	ptag_geq geq = (ptag_geq)handle;
 	plen = sizeof(tag_geq);
-	const s16 *pfc = fc_31;
 
-	switch(pgeq->nsections){
-	case 10:
-	  pfc = fc_10;
-	  break;
-	case 15:
-	  pfc = fc_15;
-	  break;
-	default:
-	  pfc = fc_31;
-	  break;
-	}
+	val[0] = geq->bypass;  m->Ctrl(EQ_BYPASS_ALL, val, 1);
+	val[0] = geq->q_index;  m->Ctrl(GEQ_QVALUE, val, 1);
 
-	val[0] = pgeq->bypass;  m->Ctrl(EQ_BYPASS_ALL, val, 1);
-	val[0] = pgeq->q;  m->Ctrl(EQ_QVALUE, val, 1);
-
-	for(i=0 ;i < pgeq->nsections ;i++) {
-		val[0] = i; val[1] = RESSIGNBIT(pgeq->eq_attr[i].gain);  m->Ctrl(EQ_GAIN, val, 2);
-		val[0] = i; val[1] = pfc[i];  m->Ctrl(EQ_FREQ, val, 2);
+	for(i=0 ;i < geq->nsections ;i++) {
+		val[0] = i; val[1] = RESSIGNBIT(geq->eq_attr[i].gain);  m->Ctrl(GEQ_GAIN, val, 2);
 	}
 
 	return 0;

--
Gitblit v1.9.3