/* * audioproc.h * * Created on: 2021Äê11ÔÂ2ÈÕ * Author: graydon */ #ifndef _AUDIOPROC_HH__ #define _AUDIOPROC_HH__ #include "typedefs.h" #include "config.h" #include "IModule.h" #include "frames.h" #include "ModuleExport.h" #include "messageproc.h" #include "protocol.h" #include "tg/tg_param_ctrl.h" class ToB { private : std::vector mList;//Ä£¿éÁбí std::vector mModuleIndex; param_ctrl_t* paramset; Frames* frames; u32 dsp_index; ubool dual_dsp; ubool processed; u16 mModuleNum; 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(); 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(); 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(s16* buffer); u16 GetModuleNum() {return mModuleNum;} u32 GetDSPIndex(){return dsp_index ;} u32 GetModuleType(u32 mID); }; #endif