00001
00013
00014
00015 #ifndef GENTABLE_H
00016 #define GENTABLE_H
00017
00018 #include "AudioDrome.h"
00019 #include <iostream>
00020
00021 class GenTable : public AudioDrome
00022 {
00023 public:
00025
00029 GenTable (const unsigned long &length);
00030
00032 GenTable(const GenTable& x);
00033
00035 virtual ~GenTable ();
00036
00038 const float* getPtr () const;
00039
00041 unsigned long getSize () const;
00042
00044
00048 float getPeak ();
00049
00051
00054 float getRaw (const double &phi);
00055
00057
00062 float getInterp (const double &phi);
00063
00065
00072 float getInterp3 (const double &phi);
00073
00075
00085 float getMorph (const double &phi, GenTable* b, const float &point=0.f);
00086
00088
00096 void writeGuardPoint ();
00097
00099 void clear ();
00100
00102
00107 void copy (const GenTable* r);
00108
00110
00115 void normalize ();
00116
00118 void rescale (const float& resc=1.0);
00119
00121 void offSet (const float& offset=0.0);
00122
00124
00128 void resize (const unsigned long& newSize);
00129
00131
00136 void add (const GenTable* b)
00137 ;
00138
00140
00143 void sub (const GenTable* b);
00144
00146
00149 void mul (const GenTable* b);
00150
00152
00155 void div (const GenTable* b);
00156
00158
00167 void morphing (const GenTable* b, const float &point=0.f);
00168
00169 protected:
00170 unsigned long _size;
00171 float* _table;
00172 };
00173 #endif