00001 #ifndef MARSYAS_CONSTQFILTERING_H
00002 #define MARSYAS_CONSTQFILTERING_H
00003
00004 #include "MarSystem.h"
00005 #include "fft.h"
00006
00007 namespace Marsyas
00008 {
00026 class ConstQFiltering: public MarSystem
00027 {
00028 private:
00029 realvec fil_;
00030 realvec fshift_;
00031 realvec spec1_;
00032 realvec spec2_;
00033 realvec time_;
00034 realvec freq_;
00035 mrs_string mode_;
00036
00037 fft fft1_;
00038 fft fft2_;
00039
00040 MarControlPtr ctrl_qValue_;
00041 MarControlPtr ctrl_lowFreq_;
00042 MarControlPtr ctrl_highFreq_;
00043 MarControlPtr ctrl_width_;
00044 MarControlPtr ctrl_channels_;
00045 MarControlPtr ctrl_time_;
00046 MarControlPtr ctrl_freq_;
00047 MarControlPtr ctrl_mode_;
00048
00049 void addControls();
00050 void myUpdate(MarControlPtr sender);
00051
00052 public:
00053 ConstQFiltering(std::string name);
00054 ConstQFiltering(const ConstQFiltering& a);
00055 ~ConstQFiltering();
00056
00057 MarSystem* clone() const;
00058
00059 void myProcess(realvec& in, realvec& out);
00060 };
00061 }
00062
00063 #endif