00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef MARSYAS_CHROMA_H
00011 #define MARSYAS_CHROMA_H
00012
00013 #include "MarSystem.h"
00014
00015 namespace Marsyas
00016 {
00029 class Chroma: public MarSystem
00030 {
00031 private:
00032 realvec m_;
00033 realvec freq_;
00034 realvec filter_;
00035 mrs_natural lowNum_;
00036 mrs_natural highNum_;
00037
00038 MarControlPtr ctrl_samplingFreq_;
00039 MarControlPtr ctrl_lowOctNum_;
00040 MarControlPtr ctrl_highOctNum_;
00041
00042 void addControls();
00043 void myUpdate(MarControlPtr sender);
00044
00045 public:
00046 realvec chord_;
00047
00048 Chroma(std::string name);
00049 Chroma(const Chroma& a);
00050 ~Chroma();
00051
00052 MarSystem* clone() const;
00053
00054 void myProcess(realvec& in, realvec& out);
00055 };
00056
00057 }
00058 #endif