/***************************************************************************
- 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