/* * ModuleExport.h * * Created on: 2021Äê11ÔÂ2ÈÕ * Author: graydon */ #ifndef MODULEEXPORT_H_ #define MODULEEXPORT_H_ #include #include #include "ModuleProAPI.h" enum ModuleType { //ÊäÈëÄ£¿é AnaInput = 1, //Ä£ÄâÊäÈë DanteInput , //danteÊäÈë ARMInput, //²¥·ÅÆ÷ÊäÈë USBInput, //usbÊäÈë AECInput, DummyInput, //¿ÕÊäÈë //Êä³öÄ£¿é AnaOutput = 16, DanteOutput, ARMOutput, USBOutput, AECOutput, DummyOutput, //ʱÓòÄ£¿é Meter = 32, //µçƽ±í Expander , Compress, Limiter, Mixer = 36, Delay, Gain, //Ôö񾀣¿é GainSharingAM, //ÔöÒæ¹²Ïí×Ô¶¯»ìÒô GatingAM = 40, //ÃÅÏÞ×Ô¶¯»ìÒô ContinuitySPL, //Á¬ÐøÐÍSPL GapSPL, //¼ä϶ÐÍSPL Ducker, AGC = 44, Route, //·ÓÉÆ÷ SignalGenerator, //Ðźŷ¢ÉúÆ÷ NoiseGate, //ƵÓòÄ£¿é EQ = 96, GEQ , CrossOver, //·ÖƵÆ÷ NHS, //Ïݲ¨Æ÷ AEC, ANS = 101, FIR, AFC, //×ÔÊÊÓ¦·´À¡ÒÖÖÆÆ÷ HighPass, LowPass, HighShelf =106, LowShelf, AllPass, //Ч¹ûÆ÷Ä£¿é Reverb = 128, //»ìÏì Echo, //»ØÉù Pitch, //±äÒô //½âÑ­»·Ä£¿é UnLooping = 256, }; class ModuleEntry { public: //s8 name[16]; u16 module_type; ubool link_enable; ubool pad; Create module_create; Create GetEntry(); ModuleEntry(const s8* name, 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_ */