#include "definitions.h"
#include "gentime.h"
#include "effectslist.h"
-#include "docclipbase.h"
-#include "kthumb.h"
-#include "transition.h"
#include "abstractclipitem.h"
+class DocClipBase;
+class Transition;
+
class ClipItem : public AbstractClipItem {
Q_OBJECT
public:
- ClipItem(DocClipBase *clip, int track, GenTime startpos, const QRectF & rect, GenTime duration, double fps);
+ ClipItem(DocClipBase *clip, ItemInfo info, GenTime cropStart, double scale, double fps);
virtual ~ ClipItem();
virtual void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option,
int clipType();
DocClipBase *baseClip();
QString clipName();
- GenTime maxDuration() const;
- GenTime cropStart() const;
QDomElement xml() const;
void setFadeOut(int pos, double scale);
/** Give a string list of the clip's effect names */
QStringList effectNames();
/** Add an effect to the clip and return the parameters that will be passed to Mlt */
- QMap <QString, QString> addEffect(QDomElement effect);
+ QMap <QString, QString> addEffect(QDomElement effect, bool animate = true);
/** Get the effect parameters that will be passed to Mlt */
QMap <QString, QString> getEffectArgs(QDomElement effect);
/** Delete effect with id index */
/** Replace effect at pos ix with given value */
void setEffectAt(int ix, QDomElement effect);
void flashClip();
+ void addTransition(Transition*);
+ /** regenerate audio and video thumbnails */
+ void resetThumbs();
+ /** update clip properties from base clip */
+ void refreshClip();
+ /** Returns a list of times for this clip's markers */
+ QList <GenTime> snapMarkers();
+ uint fadeIn() const;
+ uint fadeOut() const;
protected:
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
private:
- QDomElement m_xml;
DocClipBase *m_clip;
OPERATIONTYPE m_resizeMode;
int m_grabPoint;
int m_producer;
CLIPTYPE m_clipType;
QString m_clipName;
- GenTime m_maxDuration;
+ QString m_effectNames;
+ uint m_startFade;
+ uint m_endFade;
int m_maxTrack;
-
QPixmap m_startPix;
QPixmap m_endPix;
bool m_hasThumbs;
bool m_hover;
EffectsList m_effectList;
- QList <Transition> m_transitionsList;
+ QList <Transition*> m_transitionsList;
QMap<int, QPixmap> audioThumbCachePic;
bool audioThumbWasDrawn, audioThumbReady;
double framePixelWidth;