00001 #ifndef MARSYAS_AVERAGINGPATTERN_H
00002 #define MARSYAS_AVERAGINGPATTERN_H
00003
00004 #include "MarSystem.h"
00005
00006 namespace Marsyas
00007 {
00023 class
00024
00025
00026 AveragingPattern: public MarSystem
00027 {
00028 private:
00029 realvec counts_;
00030 realvec sizes_;
00031 realvec countvector_;
00032 realvec average_;
00033 realvec beginPos_;
00034 realvec endPos_;
00035
00036 MarControlPtr ctrl_sizes_;
00037 MarControlPtr ctrl_alignment_;
00038 MarControlPtr ctrl_counts_;
00039 MarControlPtr ctrl_input_;
00040 MarControlPtr ctrl_countVector_;
00041 MarControlPtr ctrl_setCountVector_;
00042
00043 void addControls();
00044 void myUpdate(MarControlPtr sender);
00045
00046 public:
00047 AveragingPattern(std::string name);
00048 AveragingPattern(const AveragingPattern& a);
00049 ~AveragingPattern();
00050
00051 MarSystem* clone() const;
00052
00053 void myProcess(realvec& in, realvec& out);
00054 };
00055 }
00056
00057 #endif