00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef MARSYAS_DELTA_H
00011 #define MARSYAS_DELTA_H
00012
00013 #include "MarSystem.h"
00014
00015 namespace Marsyas
00016 {
00031 class Delta: public MarSystem
00032 {
00033 private:
00034 realvec delta_;
00035 realvec prevData_;
00036 realvec normVec_;
00037 mrs_bool absolute_;
00038 mrs_bool sum_;
00039 mrs_bool normalize_;
00040 mrs_natural size_;
00041 mrs_bool positive_;
00042
00043 MarControlPtr ctrl_absolute_;
00044 MarControlPtr ctrl_sum_;
00045 MarControlPtr ctrl_normalize_;
00046 MarControlPtr ctrl_normSize_;
00047 MarControlPtr ctrl_positive_;
00048
00049 void addControls();
00050 void myUpdate(MarControlPtr sender);
00051
00052 public:
00053 Delta(std::string name);
00054 Delta(const Delta& a);
00055 ~Delta();
00056
00057 MarSystem* clone() const;
00058
00059 void myProcess(realvec& in, realvec& out);
00060 };
00061
00062 }
00063 #endif
00064
00065