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