From fe4d335b54ede7a47fd4bcf5c228fb427cbcc8c9 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期二, 20 一月 2026 14:46:01 +0800
Subject: [PATCH] 新增通道参数拷贝功能

---
 src/tob.cpp |   19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/tob.cpp b/src/tob.cpp
index c853129..1c90427 100644
--- a/src/tob.cpp
+++ b/src/tob.cpp
@@ -13,6 +13,7 @@
 #include "protocol_internal.h"
 #include "IModule.h"
 #include "f2f.h"
+#include "var_state.h"
 #include "../drv/memory.h"
 
 
@@ -409,16 +410,16 @@
 	return ErrStatus::SUCCESS;
 }
 
-u32 ToB::GetModuleType(u32 mID)
+IModule* ToB::GetModule(u32 mID)
 {
 	if(mID >= mModuleIndex.size() || mModuleIndex[mID] == 0) {
-		return ErrStatus::ERR_PARAM;
+		return NULL;
 	}
 	IModule* m = mList[mModuleIndex[mID]-1];
 	if( m != NULL) {
-		return m->GetModuleType();
+		return m;
 	}
-	return 0;
+	return NULL;
 }
 
 /*ErrStatus ToB::toCtrl(u32 mID, u32 pID, const s16* val, u32 num)
@@ -448,16 +449,14 @@
 	if(mID >= mModuleIndex.size() || mModuleIndex[mID] == 0) {
 		return ErrStatus::ERR_PARAM;
 	}
+//	VarState& var = VarState::GetInstance();
+//	printf("mID:%d\n", mID);
+	void *paramPtr = VarState::GetInstance().pscene->get_param(mID);
 
 	IModule* m = mList[mModuleIndex[mID]-1];
-//	if (m->GetModuleType() == PROC_CONTINUNOUS_SPL && pID == 9) {
-//		mID += 320;
-//		m = mList[mModuleIndex[mID]-1];
-//	}
-
 	if( m != NULL) {
 //		m->Ctrl(pID, val, num);
-		paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val, num);
+		paramset->GetCtrlEntry(m->GetModuleType())(m, pID, (s16*)val, num, paramPtr);
 	}
 //	dbg_printf("mID:%d pID:%d val[0]:%d val[1]:%d\n",mID, pID, val[0], val[1]);
 	return ErrStatus::SUCCESS;

--
Gitblit v1.9.3