-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdrawer.h
66 lines (50 loc) · 1.64 KB
/
drawer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef DRAWER_H
#define DRAWER_H
#include <QMap>
#include "defines.h"
#include <mgl2/qmathgl.h>
#define GRAPH_Y_VAL_MAX 10000
#include "DP/vectordp.h"
#include "DP/spectrdp.h"
#include "dataprocessing.h"
extern "C" {
#include "analysis/metrics.h"
#include "./OpenAL/wavFile.h"
#include "./SPTK/SPTK.h"
#include "./SPTK/vector.h"
}
mglData * createMglData(vector vec, mglData * data, bool nan = false);
void vectorToData(vector vec, mglData * data);
void vectorToDataWithNan(vector vec, mglData * data);
vector scaleVectorByDPResults(vector, SpectrDP*);
vector getSignalWithMask(vector, SpectrDP*, vector);
class Drawer: public mglDraw
{
public:
Drawer();
virtual ~Drawer();
bool stereo;
bool showUMP;
int recordNumber = 0;
virtual int getDataLenght();
virtual int getDataSeconds();
virtual int Draw(mglGraph *gr);
virtual void Proc(QString fname, bool ref = false);
virtual void reProc();
double calcResultMark(vector, vector);
void Reload();
void Click();
double proximity_curve_correlation, proximity_curve_integral, proximity_curve_local, proximity_average;
double proximity_range, proximity_curve_shape;
MetricsData getMetricData();
protected:
GraphData * data;
QString fileName;
mglData *waveData, *pitchData, *pitchDataOriginal, *pitchDataDerivative, *specData, *maskData,
*scaledMaskData, *intensiveData, *intensiveDataOriginal, *planeData;
mglData *pWaveData, *nWaveData, *tWaveData;
double pitchDataDerivativeZero;
int waveDataLen;
MetricsData metrics;
};
#endif // DRAWER_H