Files
UvosSmartHomeInterface/ampmanager.h
2017-12-30 20:53:12 +01:00

53 lines
885 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 <QAudioDeviceInfo>
#include <alsa/asoundlib.h>
#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;
char* _buffer;
snd_pcm_t *handle;
snd_pcm_hw_params_t *params;
snd_pcm_uframes_t frames;
char *buffer;
bool relayState = false;
};
#endif // AMPMANAGER_H