00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_TIMELINELABELER_H
00020 #define MARSYAS_TIMELINELABELER_H
00021
00022 #include "MarSystem.h"
00023 #include "TimeLine.h"
00024
00025 namespace Marsyas
00026 {
00054 class TimelineLabeler: public MarSystem
00055 {
00056 private:
00057 MarControlPtr ctrl_labelFiles_;
00058 MarControlPtr ctrl_currentLabelFile_;
00059 MarControlPtr ctrl_selectLabel_;
00060
00061 MarControlPtr ctrl_labelNames_;
00062 MarControlPtr ctrl_currentLabel_;
00063 MarControlPtr ctrl_previousLabel_;
00064 MarControlPtr ctrl_nLabels_;
00065
00066 MarControlPtr ctrl_playRegionsOnly_;
00067 MarControlPtr ctrl_pos_;
00068 MarControlPtr ctrl_advance_;
00069
00070 mrs_string labelFiles_;
00071 std::vector<mrs_string> labelFilesVec_;
00072
00073 mrs_string selectedLabel_;
00074
00075 TimeLine timeline_;
00076 mrs_natural numClasses_;
00077 mrs_natural curRegion_;
00078 mrs_natural samplePos_;
00079 mrs_bool foundNextRegion_;
00080
00081 void addControls();
00082 void myUpdate(MarControlPtr sender);
00083
00084 public:
00085 TimelineLabeler(std::string name);
00086 TimelineLabeler(const TimelineLabeler& a);
00087 ~TimelineLabeler();
00088 MarSystem* clone() const;
00089
00090 void myProcess(realvec& in, realvec& out);
00091 };
00092
00093 }
00094
00095 #endif
00096