/* * ModuleExport.h * * Created on: 2021Äê11ÔÂ2ÈÕ * Author: graydon */ #ifndef MODULEEXPORT_H_ #define MODULEEXPORT_H_ #include #include #include "ModuleProAPI.h" enum ModuleType { //PROC_NONE, PROC_INPUT , // ÊäÈë PROC_METER, //µçƽ±í PROC_EQ, //EQ PROC_EXPANDER, //À©Õ¹Æ÷ PROC_COMPRESS, //ѹËõÆ÷ PROC_LIMIT, //ÏÞ·ùÆ÷ PROC_MIXER, //»ìÒôÆ÷ PROC_DELAY, //ÑÓʱÆ÷ PROC_CROSSOVER, //·ÖƵÆ÷ PROC_OUTPUT, //Êä³ö PROC_GAIN, //ÔöÒæ PROC_FEEDBACK, //Ïݲ¨·´À¡ÒÖÖÆ PROC_AUTOMIXER, //ÔöÒæ¹²Ïí×Ô¶¯»ìÒô PROC_AGC, //×Ô¶¯ÔöÒæ PROC_AEC, //»ØÉùÏû³ý PROC_ANS, //ÔëÉùÒÖÖÆ PROC_SYSCTL, //ϵͳ¿ØÖÆ PROC_SHELF, // ¸ßµÍ¼Ü PROC_SELECTOR, //»ìÒôÆ÷ PROC_GATING_AUTOMIXER, //ÃÅÏÞ×Ô¶¯»ìÒô PROC_CONTINUNOUS_SPL, //Á¬ÐøÐÍSPL PROC_GATING, //ÔëÉùÃÅ PROC_DUCKER, //ÉÁ±ÜÆ÷ PROC_REVERB, //»ìÏì PROC_ECHO, //»ØÉù PROC_GEQ, //ͼÐξùºâÆ÷ PROC_FIR, //FIRÂ˲¨Æ÷ PROC_AFC, //×ÔÊÊÓ¦·´À¡ÒÖÖÆÆ÷ PROC_SIGNALGEN, //Ðźŷ¢ÉúÆ÷ PROC_PITCH, //±äÒôÆ÷ PROC_ROUTE, //·ÓÉÆ÷ DUMMY_INPUT, DUMMY_OUTPUT, PROC_COUNT, }; class ModuleEntry { public: u16 module_type; ubool link_enable; ubool pad; Create module_create; Create GetEntry(); ModuleEntry( u32 type ,Create create, ubool linkEnable); }; class ExportModules { public: ExportModules(); ModuleEntry* GetModuleEntry(u32 moduleType); static ExportModules& Instance() { static ExportModules ex; return ex; } std::vector modules; }; #endif /* MODULEEXPORT_H_ */