Marsyas  0.6.0-alpha
/usr/src/RPM/BUILD/marsyas-0.6.0/src/marsyas/marsystems/Chroma.h
Go to the documentation of this file.
00001 /*
00002  *  Chroma.h
00003  *  testChroma
00004  *
00005  *  Created by tsunoo on 09/05/03.
00006  *  Copyright 2009 Emiru Tsunoo. All rights reserved.
00007  *
00008  */
00009 
00010 #ifndef MARSYAS_CHROMA_H
00011 #define MARSYAS_CHROMA_H
00012 
00013 #include <marsyas/system/MarSystem.h>
00014 
00015 namespace Marsyas
00016 {
00027 class Chroma: public MarSystem
00028 {
00029 private:
00030   realvec m_;
00031   realvec freq_;
00032   realvec filter_;
00033   mrs_natural lowNum_;
00034   mrs_natural highNum_;
00035 
00036   MarControlPtr ctrl_samplingFreq_;
00037   MarControlPtr ctrl_lowOctNum_;
00038   MarControlPtr ctrl_highOctNum_;
00039 
00040   void addControls();
00041   void myUpdate(MarControlPtr sender);
00042 
00043 public:
00044   realvec chord_;
00045 
00046   Chroma(std::string name);
00047   Chroma(const Chroma& a);
00048   ~Chroma();
00049 
00050   MarSystem* clone() const;
00051 
00052   void myProcess(realvec& in, realvec& out);
00053 };
00054 
00055 }
00056 #endif