chenlh
2026-01-20 fe4d335b54ede7a47fd4bcf5c228fb427cbcc8c9
src/tg/tg_user_ctrl.cpp
@@ -57,16 +57,16 @@
      MUTE,
      SENSI,
      PHANTOM,
      TYPE,
      FREQ,
      LEVEL,
      NAME,
      PHASE,
      STEP,
      LINK,
      CHANNEL_LEVEL,
      INPUT_MIN,
      INPUT_MAX,
   };
@@ -178,23 +178,6 @@
u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
//   enum NHSID{
//      FB_BYPASS = 0x1,
//      FB_PANIC,
//      FB_THRS,
//      FB_FLT_DEPTH,
//      FB_STEP,
//      FB_FLT_Q,
//      FB_RECYCLETIME,
//
//      FB_FLT_FREQ,
//      FB_FLT_GAIN,
//      FB_FLT_TYPE,
//
//      FB_CLEAR,
//      FB_CLEAR_DYNAMIC,
//   };
   enum NHSID{
      FB_BYPASS= 0x1,
      FB_FLT_FREQ,
@@ -289,17 +272,15 @@
u32 tg_param_ctrl::Geq_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
   enum EQID{
     EQ_BYPASS_ALL = 0x1,
     EQ_BYPASS,
     EQ_FREQ,
     EQ_GAIN,
     EQ_QVALUE,
     EQ_TYPE,
   enum GEQID{
      GEQ_BYPASS_ALL = 0x1,//val[0]: 0-取消bypass, 1- 使能bypass
      GEQ_QVALUE,//val[0]: 1-narrow, 2-normal, 3-wide
      GEQ_GAIN,//val[0]: 段序号,val[1] : 增益,乘以100,范围:-4800~2400
      GEQ_CLEAR,//val[0]: 复位EQ参数
   };
   short val[4];
   short cmd[8] = {0,EQ_BYPASS_ALL, EQ_QVALUE, EQ_GAIN};
   short cmd[8] = {0, GEQ_BYPASS_ALL, GEQ_QVALUE, GEQ_GAIN, GEQ_CLEAR};
   val[0] = RESSIGNBIT(val_c[0]);
   val[1] = RESSIGNBIT(val_c[1]);
@@ -349,7 +330,7 @@
   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]);
//   dbg_printf("pID:%d v[0]:%d v[1]:%d\n", pID, val[0], val[1]);
   return 0;
}
@@ -375,7 +356,58 @@
   return 0;
}
u32 tg_param_ctrl::Spl_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
   enum ContinousSPLID {
      SPL_BYPASS = 0x1,
      SPL_MAX_GAIN,
      SPL_MIN_GAIN,
      SPL_SENSE_RATIO = 4,
      SPL_UPSPEED = 5,
      SPL_DOWNSPEED,
      SPL_TRIM,
      SPL_THR,
      SPL_DISTANCE,
   };
   enum ContSplWithMixID {
      SPLMIX_BYPASS = 0x1, //val[0]:0-取消bypass,1-bypass
      SPLMIX_MAX_GAIN,
      SPLMIX_MIN_GAIN,
      SPLMIX_SENSE_RATIO,
      SPLMIX_SPEED = 5,
      SPLMIX_TRIM,
      SPLMIX_THR,
      SPLMIX_DISTANCE,
      SPLMIX_MIX,
   };
   s16 val[4];
   val[0] = RESSIGNBIT(val_c[0]), val[0] = RESSIGNBIT(val_c[1]);
   if (pID < 5) {
      General_Ctrl(m, pID, val_c, num);
   }
   else {
      switch (pID) {
         case ContSplWithMixID::SPLMIX_SPEED:
            m->Ctrl(ContinousSPLID::SPL_UPSPEED, val, 1);
            m->Ctrl(ContinousSPLID::SPL_DOWNSPEED, val, 1);
            break;
         case ContSplWithMixID::SPLMIX_TRIM:
            m->Ctrl(ContinousSPLID::SPL_TRIM, val, 1);
            break;
         case ContSplWithMixID::SPLMIX_THR:
            m->Ctrl(ContinousSPLID::SPL_THR, val, 1);
            break;
         case ContSplWithMixID::SPLMIX_DISTANCE:
            m->Ctrl(ContinousSPLID::SPL_DISTANCE, val, 1);
            break;
         default:
            break;
      }
   }
   return 0;
}