X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frecmonitor.h;h=c61b8041f6eb2dc8c3f88ac3a1e42d116a6d6773;hb=ac5f5c9f6d4bdffeb76f3f2098b80f27bc532606;hp=79befd52336e2ba931917ddc05068c8e0602bdfc;hpb=13caa29beb9cd02136e4616300d7da72363354ff;p=kdenlive diff --git a/src/recmonitor.h b/src/recmonitor.h index 79befd52..c61b8041 100644 --- a/src/recmonitor.h +++ b/src/recmonitor.h @@ -26,6 +26,7 @@ #ifndef RECMONITOR_H #define RECMONITOR_H +#include "abstractmonitor.h" #include "blackmagic/capture.h" #include "ui_recmonitor_ui.h" @@ -45,16 +46,21 @@ #include #endif -class RecMonitor : public QWidget, public Ui::RecMonitor_UI +class MonitorManager; +class MltDeviceCapture; +class AbstractRender; + +class RecMonitor : public AbstractMonitor, public Ui::RecMonitor_UI { Q_OBJECT public: - explicit RecMonitor(QString name, QWidget *parent = 0); + explicit RecMonitor(QString name, MonitorManager *manager, QWidget *parent = 0); virtual ~RecMonitor(); - QString name() const; - + const QString name() const; + AbstractRender *abstractRender(); + void analyseFrames(bool analyse); enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2, BLACKMAGIC = 3}; protected: @@ -62,7 +68,6 @@ protected: private: QString m_name; - bool m_isActive; KDateTime m_captureTime; /** @brief Provide feedback about dvgrab operations */ QLabel m_dvinfo; @@ -95,17 +100,22 @@ private: QAction *m_rewAction; QAction *m_stopAction; QAction *m_discAction; - void checkDeviceAvailability(); - QPixmap mergeSideBySide(const QPixmap& pix, const QString txt); - void manageCapturedFiles(); + + CaptureHandler *m_bmCapture; /** @brief Indicates whether we are currently capturing from BLACKMAGIC. */ bool m_blackmagicCapturing; + MonitorManager *m_manager; + MltDeviceCapture *m_captureDevice; + VideoPreviewContainer *m_videoBox; + bool m_analyse; + void checkDeviceAvailability(); + QPixmap mergeSideBySide(const QPixmap& pix, const QString txt); + void manageCapturedFiles(); void createBlackmagicDevice(); private slots: void slotStartCapture(bool play = true); - void slotStopCapture(); void slotRecord(); void slotProcessStatus(QProcess::ProcessState status); void slotVideoDeviceChanged(int ix); @@ -121,10 +131,10 @@ private slots: public slots: void refreshRecMonitor(bool visible); + void slotPlay(); void stop(); void start(); - void activateRecMonitor(); - void slotPlay(); + void slotStopCapture(); void slotUpdateCaptureFolder(const QString currentProjectFolder); signals: