X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdocclipbase.h;h=dac2c770846bbeb835882052dad44c3fa6a72f72;hb=459decee5e330552ef73b7cb363dbbe38fdc7e87;hp=0b453eec0b28ccaff28923724d63197cbf125e3f;hpb=e19f8a27245266dcc6c76ecdcea6c1c827f04399;p=kdenlive diff --git a/src/docclipbase.h b/src/docclipbase.h index 0b453eec..dac2c770 100644 --- a/src/docclipbase.h +++ b/src/docclipbase.h @@ -47,6 +47,11 @@ namespace Mlt class Producer; }; +struct CutZoneInfo { + QPoint zone; + QString description; +}; + class DocClipBase: public QObject { @@ -110,7 +115,7 @@ Q_OBJECT public: } /** Sets producers for the current clip (one for each track due to a limitation in MLT's track mixing */ - void setProducer(Mlt::Producer *producer); + void setProducer(Mlt::Producer *producer, bool reset = false); /** Retrieve a producer for a track */ Mlt::Producer *producer(int track = -1); /** Retrieve the producer that shows only video */ @@ -147,7 +152,7 @@ Q_OBJECT public: bool hasFileSize() const; /** Returns the filesize, or 0 if there is no appropriate filesize. */ - uint fileSize() const; + qulonglong fileSize() const; /** Returns true if this clip refers to the clip passed in. A clip refers to another clip if * it uses it as part of it's own composition. */ @@ -173,6 +178,8 @@ Q_OBJECT public: void refreshThumbUrl(); const char *producerProperty(const char *name) const; void setProducerProperty(const char *name, const char *data); + void resetProducerProperty(const char *name); + void clearProducers(); void deleteProducers(); /** Set default play zone for clip monitor */ @@ -182,6 +189,16 @@ Q_OBJECT public: /** Returns true is clip is missing but user wants to keep it as placeholder */ bool isPlaceHolder() const; + static QString getHash(const QString &path); + + void addCutZone(int in, int out, QString desc = QString()); + bool hasCutZone(QPoint p) const; + void removeCutZone(int in, int out); + QList cutZones() const; + void updateCutZone(int oldin, int oldout, int in, int out, QString desc = QString()); + + bool hasVideoCodec(const QString &codec) const; + bool hasAudioCodec(const QString &codec) const; private: // Private attributes @@ -210,6 +227,8 @@ private: // Private attributes /** Wheter the clip is a placeholder (clip missing but user wants to see it) */ bool m_placeHolder; + QList m_cutZones; + void setAudioThumbCreated(bool isDone); /** Holds clip infos like fps, size,... */ QMap m_properties; @@ -219,13 +238,13 @@ private: // Private attributes void slotCreateAudioTimer(); void slotRefreshProducer(); void setProducerProperty(const char *name, int data); + void setProducerProperty(const char *name, double data); void getFileHash(const QString url); public slots: void updateAudioThumbnail(QMap > data); bool slotGetAudioThumbs(); QList < CommentedTime > commentedSnapMarkers() const; - void setSnapMarkers(QList < CommentedTime > markers); GenTime findNextSnapMarker(const GenTime & currTime); GenTime findPreviousSnapMarker(const GenTime & currTime); GenTime hasSnapMarkers(const GenTime & time);