Marsyas  0.5.0-beta1
/Users/jleben/code/marsyas/src/marsyas/marsystems/ConstQFiltering.h
Go to the documentation of this file.
00001 #ifndef MARSYAS_CONSTQFILTERING_H
00002 #define MARSYAS_CONSTQFILTERING_H
00003 
00004 #include <marsyas/system/MarSystem.h>
00005 #include <marsyas/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