From 8758151dcdb0f89e362dd297405a384d3a034380 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期三, 28 一月 2026 20:21:37 +0800
Subject: [PATCH] 天宫输入源模块设置时爆音及参数拷贝更新

---
 src/tob.h |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/tob.h b/src/tob.h
index c1ae2d7..5c40fd6 100644
--- a/src/tob.h
+++ b/src/tob.h
@@ -15,6 +15,7 @@
 #include "ModuleExport.h"
 #include "messageproc.h"
 #include "protocol.h"
+#include "tg/tg_param_ctrl.h"
 
 
 class ToB {
@@ -22,19 +23,25 @@
 	std::vector<IModule*> mList;//模块列表
 	std::vector<u16> mModuleIndex;
 
+	param_ctrl_t* paramset;
 	Frames* frames;
 	u32  dsp_index;
 	ubool dual_dsp;
 	ubool processed;
 	u16   mModuleNum;
-	u16  mLevelPacketNum ;
 	IModule* CreateBaseModule( u32 moduleType, u16 tag, u16 rxNum, u16 txNum);
 	ErrStatus CreateModule(const u8* bin, u32 nbytes);
 	ErrStatus CreateModuleV1(const u8* bin, u32 nbytes);
 public:
 	ToB(ubool dualDsp, u32 dspIndex);
 	~ToB();
-	static ToB* GetInstance();
+//	static ToB* GetInstance();
+	ToB(const ToB&) = delete;
+	ToB& operator=(const ToB&) = delete;
+	static ToB* GetInstance(ubool dualDsp = true, u32 dspIndex = 0) {
+		static ToB instance(dualDsp, dspIndex);
+		return &instance;
+	}
 	uvoid SetMute(ubool mute);
 	ErrStatus toClear();
 	ErrStatus toProc();
@@ -42,12 +49,12 @@
 	ErrStatus toCtrl(u32 mID, u32 pID,  const s16* val, u32 num);
 	ErrStatus toCtrl(const u8* bin , u32 nbytes);
 	ErrStatus toAnalysis(const u8* bin, u32 nbytes);
-	u32 GetLevels(Message* handle , MSG* msg);
-	u32 GetModuleCPU(Message* handle , MSG* pmsg);
+	u32 GetLevels(s16* buffer, u32 levels_len);
 	u16 GetModuleNum() {return mModuleNum;}
-	u16 GetLevelPacketNum() {return mLevelPacketNum;}
-	u32 GetDSPIndex(){return dsp_index ;}
-	u32 GetModuleType(u32 mID);
+	u32 GetDSPIndex() {return dsp_index;}
+	param_ctrl_t *GetParamCtrl() {return paramset;}
+	IModule* GetModule(u32 mID);
+
 };
 
 #endif

--
Gitblit v1.9.3