/**
* @class RecMonitor
-* @brief Records video via dvgrab, video4linux and recordmydesktop
+* @brief Records video via dvgrab, video4linux and recordmydesktop
* @author Jean-Baptiste Mardelle
*/
#ifndef RECMONITOR_H
#define RECMONITOR_H
+#include "blackmagic/capture.h"
#include "ui_recmonitor_ui.h"
#include <QToolBar>
#include <KRestrictedLine>
#include <KDateTime>
#include <kdeversion.h>
+#include <KComboBox>
#if KDE_IS_VERSION(4,2,0)
#include <kcapacitybar.h>
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);
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)
KCapacityBar *m_freeSpace;
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);
void slotConfigure();
void slotReadDvgrabInfo();
void slotUpdateFreeSpace();
+ void slotGotBlackmagicFrameNumber(ulong ix);
+ void slotGotBlackmagicMessage(const QString &message);
public slots:
void refreshRecMonitor(bool visible);
void start();
void activateRecMonitor();
void slotPlay();
- void slotUpdateCaptureFolder();
+ void slotUpdateCaptureFolder(const QString currentProjectFolder);
signals:
void renderPosition(int);