00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_PEAKVIEWSOURCE_H
00020 #define MARSYAS_PEAKVIEWSOURCE_H
00021
00022 #include "MarSystem.h"
00023
00024 namespace Marsyas
00025 {
00036 class PeakViewSource: public MarSystem
00037 {
00038 private:
00039 std::string filename_;
00040 realvec peakData_;
00041
00042 mrs_natural frameSize_;
00043 mrs_natural numFrames_;
00044 mrs_natural frameIdx_;
00045
00046 MarControlPtr ctrl_filename_;
00047 MarControlPtr ctrl_hasData_;
00048 MarControlPtr ctrl_pos_;
00049 MarControlPtr ctrl_ignGroups_,
00050 ctrl_noNegativeGroups_;
00051 MarControlPtr ctrl_frameMaxNumPeaks_;
00052 MarControlPtr ctrl_totalNumPeaks_;
00053 MarControlPtr ctrl_nTimes_;
00054 MarControlPtr ctrl_size_;
00055
00056 void discardNegativeGroups (mrs_realvec &output);
00057 void defaultConfig();
00058 void addControls();
00059 void myUpdate(MarControlPtr sender);
00060
00061 public:
00062 PeakViewSource(std::string name);
00063 PeakViewSource(const PeakViewSource& a);
00064 ~PeakViewSource();
00065 MarSystem* clone() const;
00066
00067 void myProcess(realvec& in, realvec& out);
00068 };
00069
00070 }
00071
00072 #endif
00073
00074
00075