#ifndef MOVIEMONITOR_H #define MOVIEMONITOR_H #include #include #include #include #include #include #include "HistoMonitor.h" #include "SegmentMonitor.h" #include "SpeakersMonitor.h" #include "SpkDiarMonitor.h" class MovieMonitor: public QWidget { Q_OBJECT public: MovieMonitor(QWidget *parent = 0); public slots: void processFrame(QVideoFrame frame); void showHisto(bool dispHist); void viewSegmentation(bool checked, bool annot); void viewSpeakers(bool checked); void viewUtteranceTree(bool checked); void setDiarData(const arma::mat &E, const arma::mat &Sigma, const arma::mat &W); void grabCurrentPattern(const QList> &subFeatures); void grabPatternFirstShot(const QList> &subFeatures); void grabPatternSecondShot(const QList> &subFeatures); void getShot(Segment *shot); void segmentationRetrieved(); void getSpokenFrame(qint64 position, const QString &text, const QString &speaker); void positionChanged(qint64 position); void playSegments(QList> utterances); void durationChanged(qint64 duration); void setSpeaker(qint64 start, qint64 end, const QString &speaker, VideoFrame::SpeakerSource source); void resetSpeaker(qint64 prevStart, qint64 prevEnd, qint64 start, qint64 end, bool sub, VideoFrame::SpeakerSource source); void speakersGrabbed(QList speakers); void playSub(QList utter); void currSubtitle(int subIdx); void releasePos(bool released); signals: void processMat(const cv::Mat &bgrMat); void grabShot(Segment *shot); void shotsGrabbed(); void grabSpokenFrame(qint64 position, const QString &text, const QString &speaker); void segmentationGrabbed(); void updatePosition(qint64 position); void playbackSegments(QList> utterances); void updateDuration(qint64 duration); void newSpeaker(qint64 start, qint64 end, const QString &speaker, VideoFrame::SpeakerSource source); void renewSpeaker(qint64 prevStart, qint64 prevEnd, qint64 start, qint64 end, bool resetSub, VideoFrame::SpeakerSource source); void speakersRetrieved(QList speakers); void initDiarData(const arma::mat &E, const arma::mat &Sigma, const arma::mat &W); void getCurrentPattern(const QList> &subFeatures); void getPatternFirstShot(const QList> &subFeatures); void getPatternSecondShot(const QList> &subFeatures); void playSubtitle(QList utter); void currentSubtitle(int subIdx); void releasePosition(bool released); private: HistoMonitor *m_histoMonitor; SegmentMonitor *m_segmentMonitor; SpeakersMonitor *m_speakersMonitor; SpkDiarMonitor *m_spkDiarMonitor; QScrollArea *m_scrollArea; QSlider *m_segmentSlider; }; #endif