Mercurial > hg > aimc
comparison trunk/src/Support/ModuleFactory.cc @ 296:fe5ce00a64f5
-Added AIMCopy, a replacement for HTK's HCopy
-Set "Id" keyword on all .cc, .h and .py files
-Added FileList class to aupport AIMCopy
-Added a first go at a Module factory class. It's not to be used at the moment, but it will serve as a reminder to implement a proper factory soon.
author | tomwalters |
---|---|
date | Tue, 23 Feb 2010 12:47:01 +0000 |
parents | |
children | 30dde71d0230 |
comparison
equal
deleted
inserted
replaced
295:9b049b78233d | 296:fe5ce00a64f5 |
---|---|
1 // Copyright 2008-2010, Thomas Walters | |
2 // | |
3 // AIM-C: A C++ implementation of the Auditory Image Model | |
4 // http://www.acousticscale.org/AIMC | |
5 // | |
6 // This program is free software: you can redistribute it and/or modify | |
7 // it under the terms of the GNU General Public License as published by | |
8 // the Free Software Foundation, either version 3 of the License, or | |
9 // (at your option) any later version. | |
10 // | |
11 // This program is distributed in the hope that it will be useful, | |
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 // GNU General Public License for more details. | |
15 // | |
16 // You should have received a copy of the GNU General Public License | |
17 // along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | |
19 #include "Modules/Input/ModuleFileInput.h" | |
20 #include "Modules/BMM/ModuleGammatone.h" | |
21 #include "Modules/BMM/ModulePZFC.h" | |
22 #include "Modules/NAP/ModuleHCL.h" | |
23 #include "Modules/Strobes/ModuleParabola.h" | |
24 #include "Modules/SAI/ModuleSAI.h" | |
25 #include "Modules/SSI/ModuleSSI.h" | |
26 #include "Modules/Profile/ModuleSlice.h" | |
27 #include "Modules/Profile/ModuleScaler.h" | |
28 #include "Modules/Features/ModuleGaussians.h" | |
29 #include "Modules/Output/FileOutputHTK.h" | |
30 | |
31 #include "Support/ModuleFactory.h" | |
32 | |
33 namespace aimc { | |
34 Module* ModuleFactory::Create(string module_name_, Parameters* params) { | |
35 if (module_name_.compare("gt") == 0) | |
36 return new ModuleGammatone(params); | |
37 | |
38 if (module_name_.compare("pzfc") == 0) | |
39 return new ModulePZFC(params); | |
40 | |
41 if (module_name_.compare("gaussians") == 0) | |
42 return new ModuleGaussians(params); | |
43 | |
44 if (module_name_.compare("file_input") == 0) | |
45 return new ModuleFileInput(params); | |
46 | |
47 if (module_name_.compare("hcl") == 0) | |
48 return new ModuleHCL(params); | |
49 | |
50 if (module_name_.compare("htk_out") == 0) | |
51 return new FileOutputHTK(params); | |
52 | |
53 if (module_name_.compare("scaler") == 0) | |
54 return new ModuleScaler(params); | |
55 | |
56 if (module_name_.compare("slice") == 0) | |
57 return new ModuleSlice(params); | |
58 | |
59 if (module_name_.compare("weighted_sai") == 0) | |
60 return new ModuleSAI(params); | |
61 | |
62 if (module_name_.compare("ssi") == 0) | |
63 return new ModuleSSI(params); | |
64 | |
65 if (module_name_.compare("parabola") == 0) | |
66 return new ModuleParabola(params); | |
67 | |
68 return NULL; | |
69 } | |
70 } // namespace aimc |