X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frecmonitor.h;h=b5d767a5dabe7a937a3621f7bc3ff2536e16a5e5;hb=3c844989ad9fdb96bb9258a990a9874773b3d792;hp=ec25a73c556d681beb9aa871d596ee447a0eb5dd;hpb=6ee97189c48f7e8271aa04fb34b650c1ae1037d2;p=kdenlive diff --git a/src/recmonitor.h b/src/recmonitor.h index ec25a73c..b5d767a5 100644 --- a/src/recmonitor.h +++ b/src/recmonitor.h @@ -27,6 +27,7 @@ #define RECMONITOR_H #include "abstractmonitor.h" +#include "definitions.h" #include "ui_recmonitor_ui.h" #include @@ -40,9 +41,12 @@ #include #include #include - #include +#if KDE_IS_VERSION(4,7,0) +#include +#endif + class MonitorManager; class MltDeviceCapture; class AbstractRender; @@ -52,19 +56,18 @@ class RecMonitor : public AbstractMonitor, public Ui::RecMonitor_UI 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; @@ -98,13 +101,25 @@ private: 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); 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); @@ -116,12 +131,14 @@ private slots: void slotDisconnect(); //void slotStartGrab(const QRect &rect); void slotConfigure(); - void slotReadDvgrabInfo(); + void slotReadProcessInfo(); void slotUpdateFreeSpace(); void slotSetInfoMessage(const QString &message); void slotDroppedFrames(int dropped); /** @brief Change setting for preview while recording. */ - void slotChangeRecordingPreview(int ix); + void slotChangeRecordingPreview(bool enable); + /** @brief Show last jog error log. */ + void slotShowLog(); public slots: void refreshRecMonitor(bool visible); @@ -130,6 +147,8 @@ public slots: void start(); void slotStopCapture(); void slotUpdateCaptureFolder(const QString ¤tProjectFolder); + void slotMouseSeek(int eventDelta, bool fast); + void slotSwitchFullScreen(); signals: void renderPosition(int);