annotate trunk/swig/aim_modules.i @ 706:f8e90b5d85fd tip

Delete CARFAC code from this repository. It has been moved to https://github.com/google/carfac Please email me with your github username to get access. I've also created a new mailing list to discuss CARFAC development: https://groups.google.com/forum/#!forum/carfac-dev
author ronw@google.com
date Thu, 18 Jul 2013 20:56:51 +0000
parents a908972d234e
children
rev   line source
tomwalters@277 1 // Copyright 2010, Thomas Walters
tomwalters@268 2 //
tomwalters@268 3 // AIM-C: A C++ implementation of the Auditory Image Model
tomwalters@268 4 // http://www.acousticscale.org/AIMC
tomwalters@268 5 //
tomwalters@318 6 // Licensed under the Apache License, Version 2.0 (the "License");
tomwalters@318 7 // you may not use this file except in compliance with the License.
tomwalters@318 8 // You may obtain a copy of the License at
tomwalters@268 9 //
tomwalters@318 10 // http://www.apache.org/licenses/LICENSE-2.0
tomwalters@268 11 //
tomwalters@318 12 // Unless required by applicable law or agreed to in writing, software
tomwalters@318 13 // distributed under the License is distributed on an "AS IS" BASIS,
tomwalters@318 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
tomwalters@318 15 // See the License for the specific language governing permissions and
tomwalters@318 16 // limitations under the License.
tomwalters@268 17
tomwalters@273 18 %module aimc
tomwalters@273 19 %include "std_string.i"
tomwalters@334 20 %include stl.i
tomwalters@336 21 %include "std_vector.i"
tomwalters@336 22
tomwalters@336 23 namespace std {
tomwalters@336 24 %template(FloatVector) vector<float>;
tomwalters@336 25 }
tomwalters@336 26
tomwalters@268 27 %{
tomwalters@268 28 #include "Support/Common.h"
tomwalters@268 29 #include "Support/Module.h"
tomwalters@268 30 #include "Support/Parameters.h"
tomwalters@268 31 #include "Support/SignalBank.h"
tomwalters@285 32 #include "Modules/BMM/ModuleGammatone.h"
tomwalters@285 33 #include "Modules/BMM/ModulePZFC.h"
tomwalters@285 34 #include "Modules/NAP/ModuleHCL.h"
tomwalters@285 35 #include "Modules/Strobes/ModuleParabola.h"
tomwalters@305 36 #include "Modules/Strobes/ModuleLocalMax.h"
tomwalters@285 37 #include "Modules/SAI/ModuleSAI.h"
tomwalters@285 38 #include "Modules/SSI/ModuleSSI.h"
tomwalters@285 39 #include "Modules/Profile/ModuleSlice.h"
tomwalters@292 40 #include "Modules/Profile/ModuleScaler.h"
tomwalters@411 41 #include "Modules/Features/ModuleGaussians.h"
tomwalters@268 42 %}
tomwalters@268 43
tomwalters@285 44 %include "Support/Parameters.h"
tomwalters@336 45 using namespace std;
tomwalters@285 46 %include "Support/SignalBank.h"
tomwalters@334 47
tomwalters@334 48 namespace aimc {
tomwalters@334 49 using std::ostream;
tomwalters@334 50 using std::set;
tomwalters@334 51 using std::string;
tomwalters@334 52 class Module {
tomwalters@334 53 public:
tomwalters@334 54 explicit Module(Parameters *parameters);
tomwalters@334 55 virtual ~Module();
tomwalters@410 56 virtual bool Initialize(const SignalBank &input,
tomwalters@410 57 Parameters *global_parameters);
tomwalters@334 58 bool initialized() const;
tomwalters@334 59 bool AddTarget(Module* target_module);
tomwalters@334 60 bool RemoveTarget(Module* target_module);
tomwalters@334 61 void RemoveAllTargets();
tomwalters@334 62 virtual void Process(const SignalBank &input) = 0;
tomwalters@334 63 void Reset();
tomwalters@334 64 const SignalBank* GetOutputBank() const;
tomwalters@334 65 string version() const;
tomwalters@334 66 string id() const;
tomwalters@334 67 string description() const;
tomwalters@334 68 string type() const;
tomwalters@334 69 };
tomwalters@334 70 }
tomwalters@334 71
tomwalters@285 72 %include "Modules/BMM/ModuleGammatone.h"
tomwalters@285 73 %include "Modules/BMM/ModulePZFC.h"
tomwalters@285 74 %include "Modules/NAP/ModuleHCL.h"
tomwalters@285 75 %include "Modules/Strobes/ModuleParabola.h"
tomwalters@305 76 %include "Modules/Strobes/ModuleLocalMax.h"
tomwalters@285 77 %include "Modules/SAI/ModuleSAI.h"
tomwalters@285 78 %include "Modules/SSI/ModuleSSI.h"
tomwalters@285 79 %include "Modules/Profile/ModuleSlice.h"
tomwalters@292 80 %include "Modules/Profile/ModuleScaler.h"
tomwalters@411 81 %include "Modules/Features/ModuleGaussians.h"