]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Fix several title clips problems, including:
[kdenlive] / src / renderer.h
index d10b5d3445217c005c426b19b9ff2da8bb750e69..affb77d440f82277878b197f6143a31eb5ed3d66 100644 (file)
@@ -15,8 +15,8 @@
  *                                                                         *
  ***************************************************************************/
 
-#ifndef KRENDER_H
-#define KRENDER_H
+#ifndef RENDERER_H
+#define RENDERER_H
 
 #include <qdom.h>
 #include <qstring.h>
 /**Render encapsulates the client side of the interface to a renderer.
 From Kdenlive's point of view, you treat the Render object as the
 renderer, and simply use it as if it was local. Calls are asyncrhonous -
-you send a call out, and then recieve the return value through the
+you send a call out, and then receive the return value through the
 relevant signal that get's emitted once the call completes.
   *@author Jason Wood
   */
 
 class Render;
-//class EffectParamDesc;
+
+class QTimer;
 class QPixmap;
 
-namespace Mlt {
+namespace Mlt
+{
 class Consumer;
 class Playlist;
 class Tractor;
@@ -53,7 +55,8 @@ class Multitrack;
 
 
 
-class Render: public QObject {
+class Render: public QObject
+{
 Q_OBJECT public:
 
     enum FailStates { OK = 0,
@@ -91,8 +94,8 @@ Q_OBJECT public:
     void setSceneList(QDomDocument list, int position = 0);
     void setSceneList(QString playlist, int position = 0);
     void setProducer(Mlt::Producer *producer, int position);
-    QString sceneList();
-    void saveSceneList(QString path, QDomElement kdenliveData = QDomElement());
+    const QString sceneList();
+    bool saveSceneList(QString path, QDomElement kdenliveData = QDomElement());
 
     /** Wraps the VEML command of the same name. Tells the renderer to
     play the current scene at the speed specified, relative to normal
@@ -140,11 +143,11 @@ Q_OBJECT public:
     /** Turn on or off on screen display */
     void refreshDisplay();
     int resetProfile();
-    const double fps() const;
-    const int renderWidth() const;
-    const int renderHeight() const;
+    double fps() const;
+    int renderWidth() const;
+    int renderHeight() const;
     /** get display aspect ratio */
-    const double dar() const;
+    double dar() const;
 
     /** Playlist manipulation */
     void mltInsertClip(ItemInfo info, QDomElement element, Mlt::Producer *prod);
@@ -152,6 +155,7 @@ Q_OBJECT public:
     void mltCutClip(int track, GenTime position);
     void mltInsertSpace(QMap <int, int> trackClipStartList, QMap <int, int> trackTransitionStartList, int track, const GenTime duration, const GenTime timeOffset);
     int mltGetSpaceLength(const GenTime pos, int track, bool fromBlankStart);
+    int mltTrackDuration(int track);
     bool mltResizeClipEnd(ItemInfo info, GenTime clipDuration);
     bool mltResizeClipStart(ItemInfo info, GenTime diff);
     bool mltResizeClipCrop(ItemInfo info, GenTime diff);
@@ -258,6 +262,7 @@ signals:   // Signals
     void rendererPosition(int);
     void rendererStopped(int);
     void removeInvalidClip(const QString &);
+    void refreshDocumentProducers();
 
 public slots:  // Public slots
     /** Start Consumer */