Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

FEAPIExamplePluginFindMax.h

Go to the documentation of this file.
00001 
00002 //     /*! \file FEAPIExamplePluginFindMax.h: \brief interface of the CFindAbsoluteMax class. */
00003 //
00004 //        Copyright (c) 2004-2007, Alexander Lerch, zplane.development GbR
00005 //        All rights reserved.
00006 //
00007 //        Redistribution and use in source and binary forms, with or without 
00008 //        modification, are permitted provided that the following conditions 
00009 //        are met:
00010 //
00011 //        *   Redistributions of source code must retain the above copyright 
00012 //            notice, this list of conditions and the following disclaimer. 
00013 //        *   Redistributions in binary form must reproduce the above 
00014 //            copyright notice, this list of conditions and the following 
00015 //            disclaimer in the documentation and/or other materials 
00016 //            provided with the distribution. 
00017 //        *   Neither the name of the FEAPI development team nor the names 
00018 //            of its contributors may be used to endorse or promote products 
00019 //            derived from this software without specific prior written 
00020 //            permission. 
00021 //
00022 //        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
00023 //        "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
00024 //        LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
00025 //        FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
00026 //        COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
00027 //        INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
00028 //        BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
00029 //        LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
00030 //        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
00031 //        LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
00032 //        ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
00033 //        POSSIBILITY OF SUCH DAMAGE.
00034 //
00036 
00037 #if !defined(FIND_ABSOLUTE_MAX_HEADER_INCLUDED__)
00038 #define FIND_ABSOLUTE_MAX_HEADER_INCLUDED__
00039 
00040 
00041 #include "FEAPIPluginBase.h"
00042 
00050 class CFindAbsoluteMax : public CFeatureExtractBase
00051 {
00052 public:
00053 
00054     CFindAbsoluteMax ();
00055     
00056     virtual ~CFindAbsoluteMax ();
00057 
00058 
00060     // method declaration
00061     // if you do not intend to use some of these functions, just delete them and the default 
00062     // values will be returned
00063 
00064     FEAPI_Error_t      SetPluginParameter ( int iParameterIndex, 
00065                                             float fValue);
00066 
00067     float              GetPluginParameter ( int iParameterIndex);
00068 
00069 
00070     int                GetPluginResultLatency (int iResultIndex);
00071 
00072     float              GetPluginProperty (  FEAPI_PluginProperty_t ePluginProperty);
00073 
00074     FEAPI_Error_t      InitializePlugin (   float               fInputSampleRate, 
00075                                             int                 iNumberOfAudioChannels,
00076                                             int                 iHostApiMajorVersion,
00077                                             FEAPI_UserData_t     *pstUserData);
00078 
00079     FEAPI_Error_t      ProcessPlugin (  const float             **ppfInputBuffer, 
00080                                         const FEAPI_TimeStamp_t *ptFEAPI_TimeStamp,
00081                                         int                     iNumberOfFrames);
00082 
00083     FEAPI_Error_t      ProcessPluginDone ();
00084 
00085 
00086     int                GetPluginSizeOfResult (int iResultIndex);
00087 
00088     FEAPI_Error_t      GetPluginResult (     int iResultIndex, 
00089                                 float *pfResult,
00090                                 FEAPI_TimeStamp_t *ptFEAPI_TimeStamp);
00091 
00092 
00093     FEAPI_Error_t      ResetPlugin ();
00094 
00095 private:
00096 
00097     // remove and add variables acc. your needs
00098     FEAPI_SignalDescription_t m_stResultDescription;
00099 
00100     // this buffer will contain the maximum value per call
00101     float               *m_pfMaxValue;
00102     FEAPI_TimeStamp_t   *m_ptTimeStamp;
00103 
00104     // this bool will signal if a result is available
00105     bool    *m_pbIHaveResults;
00106     
00107 };
00108 
00109 #endif // #if !defined(FIND_ABSOLUTE_MAX_HEADER_INCLUDED__)
00110 
00111 
00112 

Generated on Fri Mar 23 10:28:54 2007 for FEAPI Plugin Documentation by  doxygen 1.3.9.1