]> git.sesse.net Git - kdenlive/blobdiff - src/recmonitor.h
Fix playing rendered file by double click in job queue list
[kdenlive] / src / recmonitor.h
index ad41b0ca5f294a07c507d390b4c302e99f346fd7..79befd52336e2ba931917ddc05068c8e0602bdfc 100644 (file)
@@ -26,6 +26,7 @@
 #ifndef RECMONITOR_H
 #define RECMONITOR_H
 
+#include "blackmagic/capture.h"
 #include "ui_recmonitor_ui.h"
 
 #include <QToolBar>
@@ -38,6 +39,7 @@
 #include <KRestrictedLine>
 #include <KDateTime>
 #include <kdeversion.h>
+#include <KComboBox>
 
 #if KDE_IS_VERSION(4,2,0)
 #include <kcapacitybar.h>
@@ -53,7 +55,7 @@ public:
 
     QString name() const;
 
-    enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2};
+    enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2, BLACKMAGIC = 3};
 
 protected:
     virtual void mousePressEvent(QMouseEvent * event);
@@ -62,7 +64,12 @@ private:
     QString m_name;
     bool m_isActive;
     KDateTime m_captureTime;
+    /** @brief Provide feedback about dvgrab operations */
     QLabel m_dvinfo;
+    
+    /** @brief Keeps a brief (max ten items) history of warning or error messages
+     *         (currently only used for BLACKMAGIC). */
+    KComboBox m_logger;
     QString m_capturePath;
 
 #if KDE_IS_VERSION(4,2,0)
@@ -91,6 +98,10 @@ private:
     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;
+    void createBlackmagicDevice();
 
 private slots:
     void slotStartCapture(bool play = true);
@@ -105,6 +116,8 @@ private slots:
     void slotConfigure();
     void slotReadDvgrabInfo();
     void slotUpdateFreeSpace();
+    void slotGotBlackmagicFrameNumber(ulong ix);
+    void slotGotBlackmagicMessage(const QString &message);
 
 public slots:
     void refreshRecMonitor(bool visible);