]> git.sesse.net Git - kdenlive/blobdiff - src/docclipbase.h
it's a slot
[kdenlive] / src / docclipbase.h
index 6ac74221d2627bb9939c9c1ea6b5fcc5d1bd5647..e4f90fceb480a993cd30de4005945edd627221e2 100644 (file)
 #include "definitions.h"
 
 /*
-class DocTrackBase;
 class DocClipAVFile;
-class DocClipTextFile;
-class DocClipVirtual;
 class EffectDescriptionList;*/
-class KdenliveDoc;
 class KThumb;
 class ClipManager;
 
 namespace Mlt
 {
 class Producer;
-};
+}
 
 struct CutZoneInfo {
     QPoint zone;
@@ -57,7 +53,8 @@ struct CutZoneInfo {
 
 class DocClipBase: public QObject
 {
-Q_OBJECT public:
+Q_OBJECT
+public:
     /** this enum determines the types of "feed" available within this clip. types must be non-exclusive
      * - e.g. if you can have audio and video separately, it should be possible to combin the two, as is
      *   done here. If a new clip type is added then it should be possible to combine it with both audio
@@ -92,7 +89,7 @@ Q_OBJECT public:
     const GenTime & duration() const;
     const GenTime maxDuration() const;
     /** returns the duration of this clip */
-    void setDuration(GenTime dur);
+    void setDuration(const GenTime &dur);
 
     /** returns clip type (audio, text, image,...) */
     const CLIPTYPE & clipType() const;
@@ -206,6 +203,13 @@ Q_OBJECT public:
     /** Cache for every audio Frame with 10 Bytes */
     /** format is frame -> channel ->bytes */
     QMap<int, QMap<int, QByteArray> > audioFrameCache;
+    /** Returns all current properties for this clip */
+    QMap <QString, QString> properties() const;
+    /** Return the current values for a set of properties */
+    QMap <QString, QString> currentProperties(QMap <QString, QString> props);
+    QMap <QString, QStringList> metadata() const;
+    /** @brief Returns a short info string about the clip to display in tooltip */
+    const QString shortInfo() const;
 
 private:   // Private attributes
     /** The number of times this clip is used in the project - the number of references to this clip
@@ -236,7 +240,7 @@ private:   // Private attributes
     /** Holds clip infos like fps, size,... */
     QMap <QString, QString> m_properties;
     /** Holds clip metadata like author, copyright,... */
-    QMap <QString, QString> m_metadata;
+    QMap <QString, QStringList> m_metadata;
     /** Holds clip analysis data that can be used later to create markers or keyframes */
     QMap <QString, QString> m_analysisdata;
     
@@ -267,20 +271,15 @@ public slots:
     GenTime findPreviousSnapMarker(const GenTime & currTime);
     GenTime hasSnapMarkers(const GenTime & time);
     QString deleteSnapMarker(const GenTime & time);
-    void editSnapMarker(const GenTime & time, QString comment);
-    void addSnapMarker(const CommentedTime marker);
+    void editSnapMarker(const GenTime & time, const QString &comment);
+    void addSnapMarker(const CommentedTime &marker);
     QList < GenTime > snapMarkers() const;
     QString markerComment(GenTime t) const;
     CommentedTime markerAt(GenTime t) const;
     void setClipThumbFrame(const uint &ix);
     uint getClipThumbFrame() const;
     void setProperties(QMap <QString, QString> properties);
-    void setMetadata(QMap <QString, QString> properties);
-    /** Returns all current properties for this clip */
-    QMap <QString, QString> properties() const;
-    /** Return the current values for a set of properties */
-    QMap <QString, QString> currentProperties(QMap <QString, QString> props);
-    QMap <QString, QString> metadata() const;
+    void setMetadata(QMap <QString, QString> properties, QString tool = QString());
     void slotExtractImage(QList <int> frames);
 
 signals: