#include "gentime.h"
#include "renderer.h"
+#include "definitions.h"
#include "timecodedisplay.h"
#include "abstractmonitor.h"
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
#include "videoglwidget.h"
#endif
protected:
virtual void mouseDoubleClickEvent(QMouseEvent * event);
- virtual void mousePressEvent(QMouseEvent * event);
virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
void keyPressEvent(QKeyEvent *event);
virtual void wheelEvent(QWheelEvent * event);
Q_OBJECT
public:
- Monitor(QString name, MonitorManager *manager, QString profile = QString(), QWidget *parent = 0);
+ Monitor(Kdenlive::MONITORID id, MonitorManager *manager, QString profile = QString(), QWidget *parent = 0);
~Monitor();
Render *render;
AbstractRender *abstractRender();
void resetProfile(const QString &profile);
- const QString name() const;
void resetSize();
bool isActive() const;
void pause();
void updateMarkers(DocClipBase *source);
MonitorEditWidget *getEffectEdit();
QWidget *container();
+ void reloadProducer(const QString &id);
QFrame *m_volumePopup;
protected:
virtual void mousePressEvent(QMouseEvent * event);
virtual void mouseReleaseEvent(QMouseEvent * event);
+ virtual void mouseDoubleClickEvent(QMouseEvent * event);
virtual void resizeEvent(QResizeEvent *event);
/** @brief Move to another position on mouse wheel event.
//virtual void paintEvent(QPaintEvent * event);
private:
- QString m_name;
+ Kdenlive::MONITORID m_name;
MonitorManager *m_monitorManager;
DocClipBase *m_currentClip;
SmallRuler *m_ruler;
* Necessary because sometimes we get two signals, e.g. we get a clip and we get selected transition = NULL. */
bool m_loopClipTransition;
-#if defined(Q_WS_MAC) || defined(USE_OPEN_GL)
+#ifdef USE_OPENGL
VideoGLWidget *m_glWidget;
bool createOpenGlWidget(QWidget *parent, const QString profile);
#endif
void slotSetVolume(int volume);
void slotShowVolume();
void slotEditMarker();
+ void slotExtractCurrentZone();
public slots:
void slotOpenFile(const QString &);
- void slotSetClipProducer(DocClipBase *clip, QPoint zone = QPoint(), int position = -1);
+ void slotSetClipProducer(DocClipBase *clip, QPoint zone = QPoint(), bool forceUpdate = false, int position = -1);
void updateClipProducer(Mlt::Producer *prod);
void refreshMonitor(bool visible);
void refreshMonitor();
/** @brief Editing transitions / effects over the monitor requires the renderer to send frames as QImage.
* This causes a major slowdown, so we only enable it if required */
void requestFrameForAnalysis(bool);
+ /** @brief Request a zone extraction (ffmpeg transcoding). */
+ void extractZone(const QString &id, QPoint zone);
};
#endif