]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Complete rewrite of the video4linux capture to use MLT, in progress.
[kdenlive] / src / renderer.h
index 71ce4ef8e723b051f9f6f97354ff982c6cf105e2..2d0a2189f389fae649e827934785a71ecfdccb5b 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "gentime.h"
 #include "definitions.h"
+#include "abstractmonitor.h"
 #include "mlt/framework/mlt_types.h"
 
 #include <kurl.h>
@@ -42,8 +43,6 @@
 #include <QEvent>
 
 
-class Render;
-
 class QTimer;
 class QPixmap;
 
@@ -73,7 +72,8 @@ private:
     QString m_message;
 };
 
-class Render: public QObject
+
+class Render: public AbstractRender
 {
 Q_OBJECT public:
 
@@ -87,12 +87,11 @@ Q_OBJECT public:
     Render(const QString & rendererName, int winid, QString profile = QString(), QWidget *parent = 0);
 
     /** @brief Destroy the MLT Renderer. */
-    ~Render();
+    virtual ~Render();
 
     /** @brief Seeks the renderer clip to the given time. */
     void seek(GenTime time);
     void seek(int time);
-    void seekToFrame(int pos);
     void seekToFrameDiff(int diff);
     int m_isBlocked;
 
@@ -261,11 +260,13 @@ Q_OBJECT public:
     void showAudio(Mlt::Frame&);
     /** @brief This property is used to decide if the renderer should send audio data for monitoring. */
     bool analyseAudio;
-    /** @brief This property is used to decide if the renderer should convert it's frames to QImage for use in other Kdenlive widgets. */
-    bool sendFrameForAnalysis;
+    
     QList <int> checkTrackSequence(int);
     void sendFrameUpdate();
 
+    /** @brief Returns a pointer to the main producer. */
+    Mlt::Producer *getProducer();
+
 private:
 
     /** @brief The name of this renderer.
@@ -362,10 +363,6 @@ signals:
      * Used in Mac OS X. */
     void showImageSignal(QImage);
     void showAudioSignal(const QByteArray);
-    /** @brief The renderer refreshed the current frame, but no seeking was done. */
-    void frameUpdated(QImage);
-    /** @brief This signal contains the audio of the current frame. */
-    void audioSamplesSignal(const QVector<int16_t>&, int freq, int num_channels, int num_samples);
 
 public slots:
 
@@ -394,6 +391,7 @@ public slots:
     void slotSplitView(bool doit);
     void slotSwitchFullscreen();
     void slotSetVolume(int volume);
+    void seekToFrame(int pos);
 };
 
 #endif