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

---
 src/tg/tg_param_ctrl.h |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/tg/tg_param_ctrl.h b/src/tg/tg_param_ctrl.h
index 73ee2b1..4dcea54 100644
--- a/src/tg/tg_param_ctrl.h
+++ b/src/tg/tg_param_ctrl.h
@@ -1,7 +1,9 @@
 #ifndef PARAMCTRL_H_
 #define PARAMCTRL_H_
 
+#include "module_def.h"
 #include "../param_ctrl.h"
+#include "../ModuleExport.h"
 
 class tg_param_ctrl_t : public param_ctrl_t
 {
@@ -9,6 +11,36 @@
 
 public:
 	tg_param_ctrl_t();
+
+	template<typename A>
+	bool decide_modu_type_equal(A *pmodu, s16 dst_ch, s16 src_ch)
+	{
+	    bool ret = false;
+
+	    const auto& dst_module = pmodu[dst_ch];
+	    const auto& src_module = pmodu[src_ch];
+
+	    if (dst_module.proc_type == src_module.proc_type) {
+	        switch (dst_module.proc_type) {
+	            case PROC_EQ: {
+	                ptag_eq dst_eq = (ptag_eq)&dst_module.proc_ins;
+	                ptag_eq src_eq = (ptag_eq)&src_module.proc_ins;
+	                ret = (dst_eq->nsection == src_eq->nsection);
+	                break;
+	            }
+	            case PROC_GEQ: {
+	                ptag_geq dst_geq = (ptag_geq)&dst_module.proc_ins;
+	                ptag_geq src_geq = (ptag_geq)&src_module.proc_ins;
+	                ret = (dst_geq->nsections == src_geq->nsections);
+	                break;
+	            }
+	            default:
+	                ret = true;
+	                break;
+	        }
+	    }
+	    return ret;
+	}
 };
 
 #endif

--
Gitblit v1.9.3