/*
|
* 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<IModule*> mList;//Ä£¿éÁбí
|
std::vector<u16> 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
|