]> git.sesse.net Git - kdenlive/blobdiff - src/transitionsettings.h
Const'ref
[kdenlive] / src / transitionsettings.h
index 344533bf7b2bb6ae5c459dd9383c817273d3e353..e1cc0c52a0d91fab9661349092dd4b4148a323e5 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
-                          effecstackedit.h  -  description
+                          transitionsettings.h  -  Transitions widget
                              -------------------
     begin                : Mar 15 2008
     copyright            : (C) 2008 by Marco Gittler
 
 class Timecode;
 class Transition;
-class EffectsList;
 class EffectStackEdit;
+class Monitor;
 
-class TransitionSettings : public QWidget  {
+class TransitionSettings : public QWidget, public Ui::TransitionSettings_UI
+{
     Q_OBJECT
 
 public:
-    TransitionSettings(QWidget* parent = 0);
+    explicit TransitionSettings(Monitor *monitor, QWidget* parent = 0);
     void raiseWindow(QWidget*);
-    void updateProjectFormat(MltVideoProfile profile, Timecode t, const uint tracksCount);
+    void updateProjectFormat(const MltVideoProfile &profile, const Timecode &t, const QList <TrackInfo>& info);
+    void updateTimecodeFormat();
+    void setKeyframes(const QString &data, int maximum);
 
 private:
-    Ui::TransitionSettings_UI ui;
-    EffectStackEdit *effectEdit;
+    EffectStackEdit *m_effectEdit;
     Transition* m_usedTransition;
     GenTime m_transitionDuration;
     GenTime m_transitionStart;
-    int m_tracksCount;
+    int m_autoTrackTransition;
+    QList <TrackInfo> m_tracks;
+    void updateTrackList();
 
 public slots:
-    void slotTransitionItemSelected(Transition*, bool);
-    void slotTransitionChanged(bool reinit = true);
-    void slotUpdateEffectParams(const QDomElement&, const QDomElement&);
+    void slotTransitionItemSelected(Transition* t, int nextTrack, const QPoint &p, bool update);
+    void slotTransitionChanged(bool reinit = true, bool updateCurrent = false);
+    void slotUpdateEffectParams(const QDomElement &, const QDomElement&);
 
 private slots:
+    /** @brief Sets the new B track for the transition (automatic or forced). */
     void slotTransitionTrackChanged();
+    /** @brief Pass position changes of the timeline cursor to the effects to keep their local timelines in sync. */
+    void slotRenderPos(int pos);
+    void slotSeekTimeline(int pos);
+    void slotCheckMonitorPosition(int renderPos);
 
 signals:
-    void transitionUpdated(Transition *, QDomElement);
-    void transitionTrackUpdated(Transition *, int);
-    void transferParamDesc(const QDomElement&, int , int);
+    void transitionUpdated(Transition *, const QDomElement&);
     void seekTimeline(int);
+    void importClipKeyframes(GRAPHICSRECTITEM = TRANSITIONWIDGET);
 };
 
 #endif