]> git.sesse.net Git - kdenlive/blobdiff - src/mainwindow.h
Speedup: only convert displayed frame to QImage if necessary (for on monitor scene...
[kdenlive] / src / mainwindow.h
index ff754134365bc510520fa06315a43aa96dff5742..4aa19a941b40242bc16dc3da2f9f13a2e8c18ee3 100644 (file)
@@ -61,12 +61,13 @@ class JogShuttle;
 class DocClipBase;
 class Render;
 class Transition;
-class Levels;
+class Histogram;
 class Vectorscope;
 class Waveform;
 class RGBParade;
 class KActionCollection;
 
+
 class MainWindow : public KXmlGuiWindow
 {
     Q_OBJECT
@@ -83,6 +84,7 @@ public:
      * a default new file will be created. */
     explicit MainWindow(const QString &MltPath = QString(),
                         const KUrl &Url = KUrl(), QWidget *parent = 0);
+    virtual ~MainWindow();
 
     /** @brief Locates the MLT environment.
      * @param mltPath (optional) path to MLT environment
@@ -163,8 +165,8 @@ private:
     QDockWidget *m_RGBParadeDock;
     RGBParade *m_RGBParade;
 
-    QDockWidget *m_levelsDock;
-    Levels *m_levels;
+    QDockWidget *m_histogramDock;
+    Histogram *m_histogram;
 
     QDockWidget *m_undoViewDock;
     QUndoView *m_undoView;
@@ -172,6 +174,9 @@ private:
 
     KComboBox *m_timecodeFormat;
 
+    /** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */
+    QList <QDockWidget *> m_scopesList;
+
     QMenu *m_videoEffectsMenu;
     QMenu *m_audioEffectsMenu;
     QMenu *m_customEffectsMenu;
@@ -425,13 +430,14 @@ private slots:
     void slotUnGroupClips();
     void slotEditItemDuration();
     void slotClipInProjectTree();
+    //void slotClipToProjectTree();
     void slotSplitAudio();
     void slotUpdateClipType(QAction *action);
     void slotShowTimeline(bool show);
     void slotMaximizeCurrent(bool show);
     void slotTranscode(KUrl::List urls = KUrl::List());
     void slotTranscodeClip();
-    void slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file);
+    void slotSetDocumentRenderProfile(QMap <QString, QString> props);
     void slotPrepareRendering(bool scriptExport, bool zoneOnly, const QString &chapterFile);
 
     /** @brief Switches between displaying frames or timecode.
@@ -460,6 +466,12 @@ private slots:
     void slotShowTitleBars(bool show);
     void slotSwitchTitles();
 
+    /** @brief The monitor informs that it needs (or not) to have frames sent by the renderer. */
+    void slotMonitorRequestRenderFrame(bool request);
+    /** @brief Check if someone needs the render frame sent. */
+    void slotUpdateScopeFrameRequest();
+    void slotDoUpdateScopeFrameRequest();
+
 signals:
     Q_SCRIPTABLE void abortRenderJob(const QString &url);
 };