#ifndef DUALCAMGRABBER_H #define DUALCAMGRABBER_H #include #include #include "dualcamwrapper.h" #include "imagebuffer.h" class DualcamGrabber : public QThread { Q_OBJECT public: DualcamGrabber(DualcamWrapper *wrapper, ImageBuffer *buffer, int framerate, QObject *parent = nullptr) : QThread(parent), wrapper(wrapper), buffer(buffer), framerate(framerate) {} void run() override; void stop(); int currentFramerate() { return framerate; } double currentExposureTime() { return exposure; } double currentGain() { return gain; } private: bool stop_request = false; DualcamWrapper *wrapper; ImageBuffer *buffer; int framerate; double exposure, gain; public slots: void requestStop() { stop_request=true; } void setFrameRate(int newFramerate) { framerate = newFramerate; } void setExposureTime(double newExposureTime) { exposure = newExposureTime; } void setGain(double gain_db) { gain = gain_db; } signals: void terminated(); void delayed(int, int); }; #endif // DUALCAMGRABBER_H