![]() |
Mixxx
|
00001 #ifndef SCRIPT_NUMBERRECORDER_H 00002 #define SCRIPT_NUMBERRECORDER_H 00003 00004 #include "sdatetime.h" 00005 #include "recorder.h" 00006 #include "signalrecorder.h" 00007 #include "../controlobjectthreadmain.h" 00008 00009 #include <QList> 00010 #include <qobject.h> 00011 #include <qtimer.h> 00012 00013 #include "interp.h" 00014 00015 class NumberRecorder : public SignalRecorder { 00016 Q_OBJECT 00017 00018 public: 00019 NumberRecorder(const char* group, const char* name, int interp = INTERP_LINEAR); 00020 virtual ~NumberRecorder(); 00021 00022 virtual void startRecord(SDateTime *base); 00023 virtual void stopRecord(); 00024 00025 virtual void writeToScript(Recorder *rec); 00026 virtual void reset(); 00027 public slots: 00028 void valueCaught(double); 00029 00030 private: 00031 void simplify(); 00032 int findFurthest(int start); 00033 bool tryLineFit(int start, int len); 00034 00035 const char* m_group; 00036 const char* m_name; 00037 QList<int> m_times; 00038 QList<double> m_values; 00039 SDateTime *m_base; 00040 int m_evcount; 00041 00042 ControlObjectThreadMain* m_p; 00043 int m_interp; 00044 }; 00045 00046 00047 #endif