annotate src/Support/ModuleFactory.cc @ 23:491b1b1d1dc5

-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 c5f5e9569863
rev   line source
tomwalters@23 1 // Copyright 2008-2010, Thomas Walters
tomwalters@23 2 //
tomwalters@23 3 // AIM-C: A C++ implementation of the Auditory Image Model
tomwalters@23 4 // http://www.acousticscale.org/AIMC
tomwalters@23 5 //
tomwalters@23 6 // This program is free software: you can redistribute it and/or modify
tomwalters@23 7 // it under the terms of the GNU General Public License as published by
tomwalters@23 8 // the Free Software Foundation, either version 3 of the License, or
tomwalters@23 9 // (at your option) any later version.
tomwalters@23 10 //
tomwalters@23 11 // This program is distributed in the hope that it will be useful,
tomwalters@23 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
tomwalters@23 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
tomwalters@23 14 // GNU General Public License for more details.
tomwalters@23 15 //
tomwalters@23 16 // You should have received a copy of the GNU General Public License
tomwalters@23 17 // along with this program. If not, see <http://www.gnu.org/licenses/>.
tomwalters@23 18
tomwalters@23 19 #include "Modules/Input/ModuleFileInput.h"
tomwalters@23 20 #include "Modules/BMM/ModuleGammatone.h"
tomwalters@23 21 #include "Modules/BMM/ModulePZFC.h"
tomwalters@23 22 #include "Modules/NAP/ModuleHCL.h"
tomwalters@23 23 #include "Modules/Strobes/ModuleParabola.h"
tomwalters@23 24 #include "Modules/SAI/ModuleSAI.h"
tomwalters@23 25 #include "Modules/SSI/ModuleSSI.h"
tomwalters@23 26 #include "Modules/Profile/ModuleSlice.h"
tomwalters@23 27 #include "Modules/Profile/ModuleScaler.h"
tomwalters@23 28 #include "Modules/Features/ModuleGaussians.h"
tomwalters@23 29 #include "Modules/Output/FileOutputHTK.h"
tomwalters@23 30
tomwalters@23 31 #include "Support/ModuleFactory.h"
tomwalters@23 32
tomwalters@23 33 namespace aimc {
tomwalters@23 34 Module* ModuleFactory::Create(string module_name_, Parameters* params) {
tomwalters@23 35 if (module_name_.compare("gt") == 0)
tomwalters@23 36 return new ModuleGammatone(params);
tomwalters@23 37
tomwalters@23 38 if (module_name_.compare("pzfc") == 0)
tomwalters@23 39 return new ModulePZFC(params);
tomwalters@23 40
tomwalters@23 41 if (module_name_.compare("gaussians") == 0)
tomwalters@23 42 return new ModuleGaussians(params);
tomwalters@23 43
tomwalters@23 44 if (module_name_.compare("file_input") == 0)
tomwalters@23 45 return new ModuleFileInput(params);
tomwalters@23 46
tomwalters@23 47 if (module_name_.compare("hcl") == 0)
tomwalters@23 48 return new ModuleHCL(params);
tomwalters@23 49
tomwalters@23 50 if (module_name_.compare("htk_out") == 0)
tomwalters@23 51 return new FileOutputHTK(params);
tomwalters@23 52
tomwalters@23 53 if (module_name_.compare("scaler") == 0)
tomwalters@23 54 return new ModuleScaler(params);
tomwalters@23 55
tomwalters@23 56 if (module_name_.compare("slice") == 0)
tomwalters@23 57 return new ModuleSlice(params);
tomwalters@23 58
tomwalters@23 59 if (module_name_.compare("weighted_sai") == 0)
tomwalters@23 60 return new ModuleSAI(params);
tomwalters@23 61
tomwalters@23 62 if (module_name_.compare("ssi") == 0)
tomwalters@23 63 return new ModuleSSI(params);
tomwalters@23 64
tomwalters@23 65 if (module_name_.compare("parabola") == 0)
tomwalters@23 66 return new ModuleParabola(params);
tomwalters@23 67
tomwalters@23 68 return NULL;
tomwalters@23 69 }
tomwalters@23 70 } // namespace aimc