]> git.sesse.net Git - kdenlive/blobdiff - src/transitionsettings.h
Ask to change profile if first clip does not match project profile:
[kdenlive] / src / transitionsettings.h
index 344533bf7b2bb6ae5c459dd9383c817273d3e353..356a74deb42dc8057470f517627081c1487091c2 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
-                          effecstackedit.h  -  description
+                          transitionsettings.h  -  Transitions widget
                              -------------------
     begin                : Mar 15 2008
     copyright            : (C) 2008 by Marco Gittler
@@ -26,35 +26,40 @@ 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);
+    TransitionSettings(Monitor *monitor, QWidget* parent = 0);
     void raiseWindow(QWidget*);
-    void updateProjectFormat(MltVideoProfile profile, Timecode t, const uint tracksCount);
+    void updateProjectFormat(MltVideoProfile profile, Timecode t, const QList <TrackInfo> info);
+    void updateTimecodeFormat();
 
 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 slotTransitionItemSelected(Transition* t, int nextTrack, 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);
 
 signals:
     void transitionUpdated(Transition *, QDomElement);
-    void transitionTrackUpdated(Transition *, int);
-    void transferParamDesc(const QDomElement&, int , int);
     void seekTimeline(int);
 };