Mixxx

/home/maxime/Projets/Mixxx/1.10/mixxx/src/script/numberrecorder.h

Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines