00001 #ifndef MARSYAS_PHISEMFILTER_H
00002 #define MARSYAS_PHISEMFILTER_H
00003
00004 #include "MarSystem.h"
00005
00006 namespace Marsyas
00007 {
00008
00009 typedef struct {
00010 mrs_real zero;
00011 mrs_real one;
00012 } mrs_realpair;
00013
00014 class PhiSEMFilter: public MarSystem
00015 {
00016 private:
00017 MarControlPtr numFilters_;
00018 realvec resVec_;
00019 realvec freqVec_;
00020 mrs_realpair* coeffs_;
00021 mrs_realpair* output_;
00022
00023 void addControls();
00024 void myUpdate(MarControlPtr sender);
00025
00026 public:
00027 PhiSEMFilter(std::string name);
00028 ~PhiSEMFilter();
00029 MarSystem* clone() const;
00030 void myProcess(realvec& in, realvec& out);
00031
00032 };
00033
00034 }
00035
00036 #endif