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_user_ctrl.cpp |  107 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 66 insertions(+), 41 deletions(-)

diff --git a/src/tg/tg_user_ctrl.cpp b/src/tg/tg_user_ctrl.cpp
index 21c176a..96497a4 100644
--- a/src/tg/tg_user_ctrl.cpp
+++ b/src/tg/tg_user_ctrl.cpp
@@ -4,12 +4,13 @@
  *  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,
@@ -49,41 +50,37 @@
 	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,
@@ -96,7 +93,7 @@
 	};
 
 	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]);
@@ -106,7 +103,7 @@
 	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,
@@ -119,7 +116,7 @@
 	};
 
 	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;
@@ -130,7 +127,7 @@
 	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];
 
@@ -152,7 +149,7 @@
 	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,
@@ -179,7 +176,7 @@
 	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,
@@ -223,7 +220,7 @@
 	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,
@@ -247,7 +244,7 @@
 	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,
@@ -265,18 +262,16 @@
 	  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
@@ -292,7 +287,7 @@
 	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,
@@ -314,7 +309,7 @@
 	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];
 
@@ -326,7 +321,7 @@
 	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,
@@ -346,7 +341,7 @@
 	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];
 
@@ -354,8 +349,38 @@
 	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;
+}
+
+
+
+
+
+
+
+
+
 

--
Gitblit v1.9.3