/*
|
* audioproc.h
|
*
|
* Created on: 2021Äê11ÔÂ2ÈÕ
|
* Author: graydon
|
*/
|
|
#ifndef _AUDIOPROC_HH__
|
#define _AUDIOPROC_HH__
|
|
#include <vector>
|
#include "typedefs.h"
|
#include "config.h"
|
#include "IModule.h"
|
#include "frames.h"
|
#include "ModuleExport.h"
|
#include "protocol.h"
|
#include <map>
|
//#include "convert.h"
|
#include "ParamCtrl.h"
|
|
class ToB {
|
private :
|
std::vector<IModule*> mList;//Ä£¿éÁбí
|
std::vector<u16> mModuleIndex;
|
|
Frames* frames;
|
u8 dsp_index;
|
ubool dual_dsp;
|
u16 mLevelNum;
|
|
ubool processed;
|
ubool pad;
|
u16 mModuleNum;
|
|
static ToB* tob;
|
|
//static std::map<u32, convert_fn> ProcConvert;
|
static std::map<u32, ParamEntry*> ProcParamCtrl;
|
|
IModule* CreateBaseModule( u32 moduleType, u16 tag, u16 rxNum, u16 txNum);
|
public:
|
ToB(ubool dualDsp, u32 dspIndex);
|
~ToB();
|
static ToB* GetInstance(){
|
return tob;
|
}
|
|
uvoid SetMute(ubool mute);
|
ErrStatus toClear();
|
ErrStatus toProc();
|
ErrStatus toCtrl(u32 mID, u32 pID, s16* val, u32 num);
|
ErrStatus toCtrl(u32 mID, u32 pID, s16* val);
|
ErrStatus toCtrl(const u8* bin , u32 nbytes);
|
ErrStatus CreateModule(const u8* bin, u32 nbytes);
|
ErrStatus CreateModule(const u8* bin, u32 nbytes, const u8 *scene_bin);
|
u32 GetLevels(s16 * buffer);
|
u32 GetRuntime(u16 * buffer);
|
uvoid SetModuleParam(u32 proc_type, u32 mID, void *handle);
|
};
|
|
#endif
|