1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| /*
| * ModuleExport.h
| *
| * Created on: 2021Äê11ÔÂ2ÈÕ
| * Author: graydon
| */
|
| #ifndef MODULEEXPORT_H_
| #define MODULEEXPORT_H_
|
| #include <cstring>
| #include <vector>
|
| #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, //±äÒô
| };
|
| 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<ModuleEntry> modules;
| };
|
| #endif /* MODULEEXPORT_H_ */
|
|