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