-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.h
91 lines (73 loc) · 2.4 KB
/
config.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef CONFIG_H
#define CONFIG_H
#include <QObject>
#include <QDebug>
#include <QString>
#include <QList>
#include <QUrl>
#include "mic.h"
#include "cpptoml.h"
#include <string>
class Config : public QObject
{
Q_OBJECT
public:
explicit Config(std::string filename, QObject *parent = 0);
Q_PROPERTY(bool real MEMBER m_real NOTIFY configChanged)
Q_PROPERTY(int samplerate MEMBER m_samplerate NOTIFY configChanged)
Q_PROPERTY(bool log MEMBER m_log NOTIFY configChanged)
Q_PROPERTY(QString logFilename MEMBER m_logfilename NOTIFY configChanged)
Q_PROPERTY(QList<Mic> mics MEMBER m_mics NOTIFY configChanged)
Q_PROPERTY(QString audioDeviceName MEMBER m_deviceName NOTIFY configChanged)
Q_PROPERTY(QUrl soundFile MEMBER m_soundFile NOTIFY configChanged)
Q_PROPERTY(int fftSize MEMBER m_fftSize NOTIFY configChanged)
Q_PROPERTY(int fftFunction MEMBER m_fftFunction NOTIFY configChanged)
Q_PROPERTY(int fftPerSec MEMBER m_fftPerSec NOTIFY configChanged)
Q_PROPERTY(qreal fftThreshold MEMBER m_fftThres NOTIFY configChanged)
Q_PROPERTY(bool algoPhase MEMBER m_algoPhase NOTIFY configChanged)
Q_PROPERTY(bool algoPaV MEMBER m_algoPaV NOTIFY configChanged)
Q_PROPERTY(bool algoPaA MEMBER m_algoPaA NOTIFY configChanged)
Q_PROPERTY(qreal accuracy MEMBER m_accuracy NOTIFY configChanged)
Q_PROPERTY(qreal maxClusterSize MEMBER m_maxClusterSize NOTIFY configChanged)
Q_PROPERTY(int maxKeep MEMBER m_maxKeep NOTIFY configChanged)
Q_PROPERTY(int meanWindow MEMBER m_meanWindow NOTIFY configChanged)
Q_PROPERTY(qreal keepTime MEMBER m_keepTime NOTIFY configChanged)
Q_PROPERTY(int disFunc MEMBER m_disFunc NOTIFY configChanged)
void writeConfig();
void readConfig();
signals:
void configChanged();
public slots:
void configHasChanged() {
writeConfig();
}
private:
std::shared_ptr<cpptoml::table> table;
// General
bool m_real;
int m_samplerate;
bool m_log;
QString m_logfilename;
QList<Mic> m_mics;
// soundInput
QString m_deviceName;
// soundSimulate
QUrl m_soundFile;
// soundFFT
int m_fftSize;
int m_fftFunction;
int m_fftPerSec;
qreal m_fftThres;
// soundLocate
bool m_algoPhase;
bool m_algoPaV;
bool m_algoPaA;
qreal m_accuracy;
// soundReduce
qreal m_maxClusterSize;
int m_maxKeep;
int m_meanWindow;
qreal m_keepTime;
int m_disFunc;
};
#endif // CONFIG_H