/* * scene.h * * Created on: 2025Äê7ÔÂ18ÈÕ * Author: 86189 */ #ifndef TG_SCENE_H_ #define TG_SCENE_H_ #include #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_ */