Marsyas
0.6.0-alpha
|
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