X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftrackview.h;h=409f3f8c46fbc281932d46d04febb87216992c70;hb=0bd6bcac38586a437a5b5e7b51ff7e6459187cf7;hp=f82b661b736132673a10823dfdfcfa73e1f8c1a1;hpb=7bd462b3f3af359d9ed156b0d515ea1fcfee9bfb;p=kdenlive diff --git a/src/trackview.h b/src/trackview.h index f82b661b..409f3f8c 100644 --- a/src/trackview.h +++ b/src/trackview.h @@ -35,7 +35,9 @@ #include #include "customtrackscene.h" +#include "effectslist.h" #include "ui_timeline_ui.h" +#include "definitions.h" class ClipItem; class Transition; @@ -63,12 +65,20 @@ public: int outPoint() const; int inPoint() const; int fitZoom() const; - + /** @brief Updates (redraws) the ruler. * * Used to change from displaying frames to timecode or vice versa. */ void updateRuler(); + /** @brief Parse tracks to see if project has audio in it. + * + * Parses all tracks to check if there is audio data. */ + bool checkProjectAudio() const; + + void checkTrackHeight(); + void updateProfile(); + protected: virtual void keyPressEvent(QKeyEvent * event); @@ -76,8 +86,9 @@ public slots: void slotDeleteClip(const QString &clipId); void slotChangeZoom(int horizontal, int vertical = -1); void setDuration(int dur); - void slotSetZone(QPoint p); - + void slotSetZone(QPoint p, bool updateDocumentProperties = true); + /** @brief Save a snapshot image of current timeline view */ + void slotSaveTimelinePreview(const QString path); private: CustomRuler *m_ruler; CustomTrackView *m_trackview; @@ -86,14 +97,18 @@ private: int m_projectTracks; QString m_editMode; CustomTrackScene *m_scene; + /** @brief A list of producer ids to be replaced when opening a corrupted document*/ + QMap m_replacementProducerIds; KdenliveDoc *m_doc; int m_verticalZoom; QString m_documentErrors; void parseDocument(QDomDocument doc); - int slotAddProjectTrack(int ix, QDomElement xml, bool locked); + int slotAddProjectTrack(int ix, QDomElement xml, bool locked, QDomNodeList producers); DocClipBase *getMissingProducer(const QString id) const; void adjustTrackHeaders(); + /** @brief Add effects from the xml. Returns true if some effect was upgraded, false if everything went fine.*/ + void slotAddProjectEffects(QDomNodeList effects, QDomElement parentNode, ClipItem *clip, int trackIndex); private slots: void setCursorPos(int pos); @@ -118,6 +133,9 @@ private slots: * the horizontal scrollbar is visible and the position * of the vertical scrollbar is maximal */ void slotUpdateVerticalScroll(int min, int max); + void slotShowTrackEffects(int); + /** @brief Update the track label showing applied effects.*/ + void slotUpdateTrackEffectState(int); signals: void mousePosition(int); @@ -128,6 +146,7 @@ signals: void configTrack(int); void updateTracksInfo(); void setZoom(int); + void showTrackEffects(int, TrackInfo); }; #endif