#define RECMONITOR_H
#include "abstractmonitor.h"
-#include "blackmagic/capture.h"
+#include "definitions.h"
#include "ui_recmonitor_ui.h"
#include <QToolBar>
#include <KDateTime>
#include <kdeversion.h>
#include <KComboBox>
-
-#if KDE_IS_VERSION(4,2,0)
#include <kcapacitybar.h>
+
+#if KDE_IS_VERSION(4,7,0)
+#include <KMessageWidget>
#endif
class MonitorManager;
Q_OBJECT
public:
- explicit RecMonitor(QString name, MonitorManager *manager, QWidget *parent = 0);
- virtual ~RecMonitor();
+ explicit RecMonitor(Kdenlive::MONITORID name, MonitorManager *manager, QWidget *parent = 0);
+ ~RecMonitor();
- const QString name() const;
AbstractRender *abstractRender();
void analyseFrames(bool analyse);
enum CAPTUREDEVICE {FIREWIRE = 0, VIDEO4LINUX = 1, SCREENGRAB = 2, BLACKMAGIC = 3};
protected:
- virtual void mousePressEvent(QMouseEvent * event);
+ void mousePressEvent(QMouseEvent * event);
+ void mouseDoubleClickEvent(QMouseEvent * event);
private:
- QString m_name;
KDateTime m_captureTime;
/** @brief Provide feedback about dvgrab operations */
QLabel m_dvinfo;
KComboBox m_logger;
QString m_capturePath;
-#if KDE_IS_VERSION(4,2,0)
KCapacityBar *m_freeSpace;
QTimer m_spaceTimer;
-#endif
KUrl m_captureFile;
KIcon m_playIcon;
QAction *m_stopAction;
QAction *m_discAction;
-
- CaptureHandler *m_bmCapture;
- /** @brief Indicates whether we are currently capturing from BLACKMAGIC. */
- bool m_blackmagicCapturing;
MonitorManager *m_manager;
MltDeviceCapture *m_captureDevice;
- VideoPreviewContainer *m_videoBox;
+ VideoContainer *m_videoBox;
+ QAction *m_addCapturedClip;
+ QAction *m_previewSettings;
+ QString m_error;
+
+#if KDE_IS_VERSION(4,7,0)
+ KMessageWidget *m_infoMessage;
+#endif
+
bool m_analyse;
void checkDeviceAvailability();
- QPixmap mergeSideBySide(const QPixmap& pix, const QString txt);
+ QPixmap mergeSideBySide(const QPixmap& pix, const QString &txt);
void manageCapturedFiles();
+ /** @brief Build MLT producer for device, using path as profile. */
+ void buildMltDevice(const QString &path);
+ /** @brief Create string containing an XML playlist for v4l capture. */
+ const QString getV4lXmlPlaylist(const MltVideoProfile &profile, bool *isXml);
+ /** @brief Display an error message to user. */
+ void showWarningMessage(const QString &text, bool logAction = false);
private slots:
void slotStartPreview(bool play = true);
void slotDisconnect();
//void slotStartGrab(const QRect &rect);
void slotConfigure();
- void slotReadDvgrabInfo();
+ void slotReadProcessInfo();
void slotUpdateFreeSpace();
- void slotGotBlackmagicFrameNumber(ulong ix);
void slotSetInfoMessage(const QString &message);
void slotDroppedFrames(int dropped);
+ /** @brief Change setting for preview while recording. */
+ void slotChangeRecordingPreview(bool enable);
+ /** @brief Show last jog error log. */
+ void slotShowLog();
public slots:
void refreshRecMonitor(bool visible);
void stop();
void start();
void slotStopCapture();
- void slotUpdateCaptureFolder(const QString currentProjectFolder);
+ void slotUpdateCaptureFolder(const QString ¤tProjectFolder);
+ void slotMouseSeek(int eventDelta, bool fast);
+ void slotSwitchFullScreen();
signals:
void renderPosition(int);
void durationChanged(int);
void addProjectClip(KUrl);
+ void addProjectClipList(KUrl::List);
void showConfigDialog(int, int);
};