qipp
2025-11-07 1db34b4e65f72d8ae8b1f0efbc7a4395f9bbcae8
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
#include <fstream>
#include "ModuleExport.h"
 
 
ModuleEntry::ModuleEntry( u32 type ,Create create, ubool linkEnable)
{
    module_type = type ;
    module_create = create;
    link_enable = linkEnable;
}
Create ModuleEntry::GetEntry()
{
    return module_create;
}
 
ExportModules::ExportModules()
{
    ModuleProcessLibInit();
 
    if (modules.empty()) {
        modules.push_back(ModuleEntry(ModuleType::PROC_INPUT, InputCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_OUTPUT, OutputCreate, ufalse));
 
        modules.push_back(ModuleEntry(ModuleType::PROC_METER, MeterCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_EXPANDER, ExpanderCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_COMPRESS, CompressorCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_LIMIT, LimiterCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_MIXER, MixerCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_DELAY, DelayCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_GAIN, GainCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_AUTOMIXER, PriorityAMCreate, ufalse));//GSAMCreate
        modules.push_back(ModuleEntry(ModuleType::PROC_GATING_AUTOMIXER, GatingAMCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_CONTINUNOUS_SPL, ContinuousSPLCreate, utrue));
        //modules.push_back(ModuleEntry(ModuleType::GapSPL, InputCreate, 0.00));
        modules.push_back(ModuleEntry(ModuleType::PROC_DUCKER, DuckerCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_AGC, AGCCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_SELECTOR, MixerCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_SIGNALGEN, SignalGeneraterCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_GATING, NoiseGateCreate,utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_ROUTE, RouteCreate,ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_EQ, EQsCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_GEQ, GEQCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_CROSSOVER, CrossOverCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_FEEDBACK, NHSCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_AEC, SQECreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_ANS, ANSCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_SYSCTL, SysctlCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::PROC_FIR, FIRCreate,utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_AFC, AFCCreate, utrue));
        modules.push_back(ModuleEntry(ModuleType::PROC_PITCH, PitchCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::DUMMY_INPUT, DummyCreate, ufalse));
        modules.push_back(ModuleEntry(ModuleType::DUMMY_OUTPUT, DummyCreate, ufalse));
    }
}
 
ModuleEntry* ExportModules::GetModuleEntry(u32 moduleType)
{
    for (std::vector<ModuleEntry>::iterator iter = modules.begin()
        ; iter != modules.end()
        ; iter++) {
 
        if (moduleType == iter->module_type) {
            ModuleEntry& m = *iter;
            return &m;
        }
    }
    return NULL;
}