graydon
2025-07-25 703ab2a2d865ece47c13816fec7a28df1cd05746
initial》
已修改3个文件
26 ■■■■■ 文件已修改
src/tg/tg_scene.cpp 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tob.cpp 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/tob.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
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;
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;