Marsyas
0.6.0-alpha
|
00001 #ifndef MARSYAS_UPDATINGBASSMODEL_H 00002 #define MARSYAS_UPDATINGBASSMODEL_H 00003 00004 #include <marsyas/system/MarSystem.h> 00005 #include <cstdlib> 00006 #include <ctime> 00007 00008 namespace Marsyas 00009 { 00029 class UpdatingBassModel: public MarSystem 00030 { 00031 private: 00032 mrs_natural K_; 00033 mrs_natural I_; 00034 mrs_natural rootMin_; 00035 mrs_natural rootMax_; 00036 mrs_natural rootBin_; 00037 realvec d_; 00038 realvec k_; 00039 realvec seg_; 00040 realvec time_; 00041 realvec freq_; 00042 realvec logFreq_; 00043 realvec start_; 00044 realvec counts_; 00045 realvec templates_; 00046 mrs_real lowFreq_; 00047 mrs_real highFreq_; 00048 mrs_real rootFreq_; 00049 00050 MarControlPtr ctrl_nTemplates_; 00051 MarControlPtr ctrl_nDevision_; 00052 MarControlPtr ctrl_segmentation_; 00053 MarControlPtr ctrl_time_; 00054 MarControlPtr ctrl_freq_; 00055 MarControlPtr ctrl_templates_; 00056 MarControlPtr ctrl_counts_; 00057 MarControlPtr ctrl_lowFreq_; 00058 MarControlPtr ctrl_highFreq_; 00059 MarControlPtr ctrl_rootFreq_; 00060 MarControlPtr ctrl_intervals_; 00061 MarControlPtr ctrl_selections_; 00062 00063 void addControls(); 00064 void myUpdate(MarControlPtr sender); 00065 00066 public: 00067 UpdatingBassModel(std::string name); 00068 UpdatingBassModel(const UpdatingBassModel& a); 00069 ~UpdatingBassModel(); 00070 00071 MarSystem* clone() const; 00072 00073 void myProcess(realvec& in, realvec& out); 00074 }; 00075 } 00076 00077 #endif 00078