From 703ab2a2d865ece47c13816fec7a28df1cd05746 Mon Sep 17 00:00:00 2001
From: graydon <weidong.gao@cretone.cn>
Date: 星期五, 25 七月 2025 10:19:48 +0800
Subject: [PATCH] initial》

---
 src/tob.h           |    4 ++--
 src/tob.cpp         |   10 +++++++---
 src/tg/tg_scene.cpp |   12 ++++++------
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/tg/tg_scene.cpp b/src/tg/tg_scene.cpp
index 2804842..42456a5 100644
--- a/src/tg/tg_scene.cpp
+++ b/src/tg/tg_scene.cpp
@@ -86,7 +86,7 @@
 	__MADD(163,PROC_AEC,inport_str, outport_str ,0, 1, &parameters.aec, 256, ModuleInterfaceType::SOFT_MODULE);
 
 	//ans selector
-	sprintf(inport_str, "0-%d", input_num+ 3);
+	sprintf(inport_str, "1-%d", input_num+ 3);
 	sprintf(outport_str, "%d|", input_num+ 4);
 	__MADD(164,PROC_SELECTOR,inport_str,outport_str, 1, 1 ,&parameters.ans_selector, 0, ModuleInterfaceType::SOFT_MODULE);
 
@@ -103,29 +103,29 @@
 	//crossover
 	for(s32 i =0 ;i < output_num ; i++) {
 		sprintf(outport_str, "%d|", i+1);
-		__MADD(167,PROC_CROSSOVER,outport_str, outport_str,1, 0, &parameters.out1[i],2, ModuleInterfaceType::SOFT_MODULE);
+		__MADD(167+i,PROC_CROSSOVER,outport_str, outport_str,1, 0, &parameters.out1[i],2, ModuleInterfaceType::SOFT_MODULE);
 	}
 
 	//eq
 	for(s32 i =0 ;i < output_num ; i++) {
 		sprintf(outport_str, "%d|", i+1);
-		__MADD(199,PROC_EQ,outport_str, outport_str,1, 0, &parameters.out2[i], 8, ModuleInterfaceType::SOFT_MODULE);
+		__MADD(199+i,PROC_EQ,outport_str, outport_str,1, 0, &parameters.out2[i], 8, ModuleInterfaceType::SOFT_MODULE);
 	}
 
 	//delay
 	for(s32 i =0 ;i < output_num ; i++) {
 		sprintf(outport_str, "%d|", i+1);
-		__MADD(231,PROC_DELAY,outport_str, outport_str,1, 0, &parameters.out3[i], 1200, ModuleInterfaceType::SOFT_MODULE);
+		__MADD(231+i,PROC_DELAY,outport_str, outport_str,1, 0, &parameters.out3[i], 1200, ModuleInterfaceType::SOFT_MODULE);
 	}
 
 	//limit
 	for(s32 i =0 ;i < output_num ; i++) {
 		sprintf(outport_str, "%d|", i+1);
-		__MADD(263,PROC_LIMIT,outport_str, outport_str,1, 0, &parameters.out4[i],0, ModuleInterfaceType::SOFT_MODULE);
+		__MADD(263+i,PROC_LIMIT,outport_str, outport_str,1, 0, &parameters.out4[i],0, ModuleInterfaceType::SOFT_MODULE);
 	}
 
 	//output
-	sprintf(outport_str, "0-%d", output_num);
+	sprintf(outport_str, "1-%d", output_num);
 	__MADD(295,PROC_OUTPUT,outport_str,outport_str,1, 1, &parameters.output,0, ModuleInterfaceType::SOFT_MODULE);
 	//sysctrl
 	__MADD(296,PROC_SYSCTL,outport_str,outport_str,1, 1, &parameters.sysctl,0, ModuleInterfaceType::PHY_OUTPUT);
diff --git a/src/tob.cpp b/src/tob.cpp
index 7de4099..3260cad 100644
--- a/src/tob.cpp
+++ b/src/tob.cpp
@@ -13,7 +13,7 @@
 #include "IModule.h"
 #include "f2f.h"
 #include "../drv/memory.h"
-#include "param_ctrl.h"
+
 
 //#define DEBUG
 #ifdef DEBUG
@@ -40,12 +40,14 @@
 	processed = ufalse;
 	mModuleNum =0;
 	mModuleIndex.resize(0);
+	paramset = new tg_param_ctrl_t();
 }
 
 ToB::~ToB()
 {
 	toClear();
 	tob = NULL;
+	delete paramset;
 }
 
 uvoid ToB::SetMute(ubool mute)
@@ -194,7 +196,7 @@
 	FlowChartHead* head = (FlowChartHead*)bin;
 	u32 size = sizeof(FlowChartHead);
 	u16 nPhyInput[IntDataType::COUNT] = { 0,0,0 }, nPhyOutput[IntDataType::COUNT] = { 0,0,0 };
-
+	s32 len =0;
 	frames = new Frames(head->dsp_buffer_num[dsp_index]);
 
 	do {
@@ -273,6 +275,7 @@
 		}
 
 		m->Init();
+		paramset->GetParamEntry(m->GetModuleType())(m, (uvoid*)pmod->mParamaddr, len);
 	} while (size < nbytes);
 
 	if (size != nbytes) {
@@ -343,7 +346,8 @@
 
 	IModule* m = mList[mModuleIndex[mID]-1];
 	if( m != NULL) {
-		m->Ctrl(pID, val, num);
+		///m->Ctrl(pID, val, num);
+		paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val);
 	}
 
 	return ErrStatus::SUCCESS;
diff --git a/src/tob.h b/src/tob.h
index 969313e..dd4b1ce 100644
--- a/src/tob.h
+++ b/src/tob.h
@@ -15,13 +15,13 @@
 #include "ModuleExport.h"
 #include "messageproc.h"
 #include "protocol.h"
-
+#include "tg/tg_param_ctrl.h"
 
 class ToB {
 private :
 	std::vector<IModule*> mList;//模块列表
 	std::vector<u16> mModuleIndex;
-
+	param_ctrl_t* paramset;
 	Frames* frames;
 	u32  dsp_index;
 	ubool dual_dsp;

--
Gitblit v1.9.3