Shot.h 854 Bytes
#ifndef SHOT_H
#define SHOT_H

#include <QMap>

#include "Segment.h"
#include "VideoFrame.h"

class Shot: public Segment
{
 public:
  enum TransitionType {
    None, FadeOut, FadeIn, FadeOutIn, Dissolve, Cut
  };

  Shot(Segment *parentSegment);
  Shot(qint64 position, TransitionType transitionType, Segment *parentSegment, Segment::Source source = Segment::Manual);
  ~Shot();
  void read(const QJsonObject &json);
  void write(QJsonObject &json) const;
  QString display() const;
  int getNumber() const;
  void setEnd(qint64 end);
  void setCamera(int nCamera, Segment::Source source);
  qint64 getEnd();
  int getCamera(Segment::Source source) const;
  QString getLabel() const;
  QMap<QString, int> getSpeakerList(VideoFrame::SpeakerSource source);

 private:
  TransitionType m_transitionType;
  qint64 m_end;
  QVector<int> *m_camera;
};

#endif