annotate doc/ModuleTemplate.h @ 11:bd370910aa05

-Added modules template -Changed header guard style to be more consistent with the Google style guide -Added Doyxfile to generate doxygen documentation -Added structure diagram -Updated swig script to reflect new modules -Changes Gaussians back to using floats and changed tolerance on tests - doubles are unnecessary here
author tomwalters
date Fri, 19 Feb 2010 12:15:56 +0000
parents
children e361baf69120
rev   line source
tomwalters@11 1 // Copyright #YEAR#, #AUTHOR_NAME#
tomwalters@11 2 //
tomwalters@11 3 // AIM-C: A C++ implementation of the Auditory Image Model
tomwalters@11 4 // http://www.acousticscale.org/AIMC
tomwalters@11 5 //
tomwalters@11 6 // This program is free software: you can redistribute it and/or modify
tomwalters@11 7 // it under the terms of the GNU General Public License as published by
tomwalters@11 8 // the Free Software Foundation, either version 3 of the License, or
tomwalters@11 9 // (at your option) any later version.
tomwalters@11 10 //
tomwalters@11 11 // This program is distributed in the hope that it will be useful,
tomwalters@11 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
tomwalters@11 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
tomwalters@11 14 // GNU General Public License for more details.
tomwalters@11 15 //
tomwalters@11 16 // You should have received a copy of the GNU General Public License
tomwalters@11 17 // along with this program. If not, see <http://www.gnu.org/licenses/>.
tomwalters@11 18
tomwalters@11 19 /*!
tomwalters@11 20 * \author #AUTHOR_NAME# <#AUTHOR_EMAIL_ADDRESS#>
tomwalters@11 21 * \date created #TODAYS_DATE#
tomwalters@11 22 * \version \$Id$
tomwalters@11 23 */
tomwalters@11 24
tomwalters@11 25 #ifndef AIMC_MODULES_#MODULE_TYPE_CAPS#_#MODULE_ID_CAPS#_H_
tomwalters@11 26 #define AIMC_MODULES_#MODULE_TYPE_CAPS#_#MODULE_ID_CAPS#_H_
tomwalters@11 27
tomwalters@11 28 #include "Support/Module.h"
tomwalters@11 29
tomwalters@11 30 namespace aimc {
tomwalters@11 31 using std::vector;
tomwalters@11 32 class #MODULE_NAME# : public Module {
tomwalters@11 33 public:
tomwalters@11 34 explicit #MODULE_NAME#(Parameters *pParam);
tomwalters@11 35 virtual ~#MODULE_NAME#();
tomwalters@11 36
tomwalters@11 37 /*! \brief Process a buffer
tomwalters@11 38 */
tomwalters@11 39 virtual void Process(const SignalBank &input);
tomwalters@11 40
tomwalters@11 41 private:
tomwalters@11 42 /*! \brief Reset the internal state of the module
tomwalters@11 43 */
tomwalters@11 44 virtual void ResetInternal();
tomwalters@11 45
tomwalters@11 46 /*! \brief Prepare the module
tomwalters@11 47 * \param input Input signal
tomwalters@11 48 * \param output true on success false on failure
tomwalters@11 49 */
tomwalters@11 50 virtual bool InitializeInternal(const SignalBank &input);
tomwalters@11 51
tomwalters@11 52 float sample_rate_;
tomwalters@11 53 int buffer_length_;
tomwalters@11 54 int channel_count_;
tomwalters@11 55 };
tomwalters@11 56 } // namespace aimc
tomwalters@11 57
tomwalters@11 58 #endif // AIMC_MODULES_#MODULE_TYPE_CAPS#_#MODULE_ID_CAPS#_H_