]> git.sesse.net Git - kdenlive/blobdiff - src/transitionsettings.h
Keep timeline cursor position in sync with local timelines of effects:
[kdenlive] / src / transitionsettings.h
index 0e0629253cbfe4f7c1f929d5236cfe53b6a5fc3b..81d652c110ce228dd401898f7bb275160f5f52e8 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
-                          effecstackedit.h  -  description
+                          transitionsettings.h  -  Transitions widget
                              -------------------
     begin                : Mar 15 2008
     copyright            : (C) 2008 by Marco Gittler
  ***************************************************************************/
 #ifndef TRANSITIONSETTINGS_H
 #define TRANSITIONSETTINGS_H
-#include "ui_transitionsettings_ui.h"
+
 #include <QDomElement>
 
+#include "ui_transitionsettings_ui.h"
+#include "definitions.h"
+
+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 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_autoTrackTransition;
+    QList <TrackInfo> m_tracks;
+    void updateTrackList();
+
 public slots:
-    void slotTransitionItemSelected(Transition*);
-    void slotTransitionChanged();
+    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 in project monitor/timline to the effects to keep their local timelines in sync. */
+    void slotRenderPos(int pos);
+
 signals:
     void transitionUpdated(Transition *, QDomElement);
-    void transferParamDesc(const QDomElement&, int , int);
+    void seekTimeline(int);
 };
 
 #endif