/*
|
* scene.h
|
*
|
* Created on: 2025Äê7ÔÂ18ÈÕ
|
* Author: 86189
|
*/
|
|
#ifndef TG_SCENE_H_
|
#define TG_SCENE_H_
|
|
#include <vector>
|
#include "../scene.h"
|
#include "../protocol.h"
|
#include "module_def.h"
|
|
#pragma pack (1)
|
typedef struct {
|
unsigned short magic;
|
unsigned short nmds;
|
|
unsigned short pad1;
|
unsigned short pad2;
|
unsigned short crc[2];
|
|
tag_input input; //1362
|
|
tag_module in1[MAX_INPUT_NUM]; //4352
|
tag_module in2[MAX_INPUT_NUM];
|
tag_module in3[MAX_INPUT_NUM];
|
tag_module in4[MAX_INPUT_NUM];
|
tag_module in5[MAX_INPUT_NUM];
|
|
tag_automixer automixer; //366
|
tag_selector aec_selector; //208
|
tag_aec aec; //4
|
tag_selector ans_selector; //208
|
tag_3a afc_ns; //36
|
tag_mixer mixer; //5242
|
|
tag_module out1[MAX_OUTPUT_NUM]; //4352
|
// tag_module out2[MAX_OUTPUT_NUM];
|
tag_module_fir out2[MAX_OUTPUT_NUM]; //140080
|
tag_module out3[MAX_OUTPUT_NUM];
|
tag_module out4[MAX_OUTPUT_NUM];
|
tag_output output; //1158
|
tag_sysctl sysctl; //6
|
tag_group group; //272
|
} tag_parameters, *ptag_parameters;
|
#pragma pack ()
|
|
class tgScene: public Scene
|
{
|
private:
|
tag_parameters parameters; //Ô¤Éè²ÎÊýÓÉARMÏ·¢
|
|
//¸üж¯Ì¬Ä£¿élevel_numºÍtag. ·Ç¶¯Ì¬Ä£¿éÒѾ¾²Ì¬¹Ì¶¨.
|
s32 update_dynmodule_tag(s32 proc_type,struct proc_field* proc);
|
public:
|
tgScene(hw_adapter_t* adapter);
|
void module_def(s32 proc_type, void* param_ptr);
|
void tgScene_param_default(ptag_parameters p);
|
|
//¸ù¾ÝÄ£¿éÀàÐ͸üÐÂÄ£¿éÐÅÏ¢.
|
virtual s32 update_module() override;
|
|
virtual s32 set_parameters_content(uvoid* param, s32 size) override;
|
|
virtual uvoid* get_module_param_ptr(s32 mType, uvoid *param, s32 fixed) override;
|
|
// virtual u32 get_module_id(u32 mid, s32 mtype ,u32 pid) override;
|
};
|
|
|
//void param_init(ptag_device_config pDevCfg);
|
//void preset_init(tag_parameters *p);
|
|
|
#endif /* TG_SCENE_H_ */
|