49 lines
843 B
C++
49 lines
843 B
C++
#ifndef AMPMANAGER_H
|
|
#define AMPMANAGER_H
|
|
|
|
#include <iostream>
|
|
|
|
#include <QObject>
|
|
#include <QRunnable>
|
|
#include <QScopedPointer>
|
|
#include <QEventLoop>
|
|
#include <QTimer>
|
|
#include <QByteArray>
|
|
#include <QtDebug>
|
|
#include <QAudioInput>
|
|
#include <QAudioDeviceInfo>
|
|
#include <QIODevice>
|
|
|
|
#include "microcontroller.h"
|
|
|
|
|
|
class AmpManager : public QObject, public QRunnable
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit AmpManager(Microcontroller *micro, int relayNumber, QAudioDeviceInfo device, QObject *parent = 0);
|
|
~AmpManager();
|
|
|
|
|
|
|
|
public slots:
|
|
void run();
|
|
void abort();
|
|
void doTick();
|
|
|
|
private:
|
|
QScopedPointer<QEventLoop> loop;
|
|
|
|
long silenceCount = 0;
|
|
Microcontroller *_micro;
|
|
int _relayNumber;
|
|
|
|
QAudioInput* _audioDevice;
|
|
QIODevice* _ioDevice = nullptr;
|
|
|
|
bool relayState = false;
|
|
|
|
};
|
|
|
|
#endif // AMPMANAGER_H
|