#ifndef AMPMANAGER_H #define AMPMANAGER_H #include #include #include #include #include #include #include #include #include #include #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 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