1#ifndef VIDEOPLAYERCONTROLLER_H
2#define VIDEOPLAYERCONTROLLER_H
11#include "DataManager.h"
13#include "view/videoplayer.h"
14#include "view/timeline.h"
16#include "controller/ModelInputIterator.h"
18#include "controller/imageiterator.h"
19#include "controller/modelinputiteratorfactory.h"
20#include "view/reallydeletedialog.h"
22#include "model/asyncimageloader.h"
23#include "plugin/pluginthread.h"
27#include "cvmat_qmetadata.h"
29#define ERROR_MSG_APPROX_COUNT 5
30#define BOUDNARY_STATIONARY_DURATION 1000
77 void setPreviewPlugin(
const QString& previewPluginName);
79 void clearPreviewPlugin();
197 void sig_disablePreview();
200 void slot_timerNextImage();
201 void slot_boundaryStopped();
209 QTimer *m_frametimer;
210 QTimer *m_boundaryMoveTimer;
213 cv::Mat m_currentImage;
215 QRect m_sceneBoundaries;
217 unsigned int m_imageIndex;
218 unsigned int m_imageIndexOnScreen;
219 unsigned int m_stepsize;
220 bool m_keyframesOnly;
224 const int m_frametime = 33;
226 std::set<int> m_foundCorruptedFrames = {};
230 std::unique_ptr<AsyncImageLoader> m_asyncImageLoader;
231 std::shared_ptr<PluginThread> m_pluginThread;
232 std::optional<QString> m_currentPreviewPlugin;
The DataManager class is a Facade for the data holding classes in the model. It delegates most of it'...
Definition DataManager.h:29
The Timeline class is the class wich coordinates and manages all timeline events and elements.
Definition timeline.h:30
The VideoPlayerController class manages visualization of image data and manual changes to keyframes.
Definition videoplayercontroller.h:48
void slot_updateBoundaries(QPoint boundaries)
[slot] slot_updateBoundaries() updates the mip so that the boundaries are up to date
Definition videoplayercontroller.cpp:322
void slot_mipChanged()
[slot] slot_mipChanged() is called when image data changed. VideoPlayer and Timeline are updated.
Definition videoplayercontroller.cpp:271
~VideoPlayerController()
disconnects signals, deletes timer and VideoPlayerController instance.
Definition videoplayercontroller.cpp:98
void sig_deleteAllKeyframes()
[signal] sig_deleteAllKeyframes is emitted when frames are reseted to be keyframes
void slot_play()
[slot] slot_play() toggles automatic iteration over image sequence.
Definition videoplayercontroller.cpp:148
void sig_deleteKeyframes()
[signal] sig_deleteKeyframes is emitted when all keyframes are deleted
void slot_refreshPreview(bool clearOldPreview)
[slot] slot_refreshPreview() updates the visualization for the currently displayed image by requestin...
Definition videoplayercontroller.cpp:437
void sig_hasStatusMessage(QString message)
[signal] sig_hasStatusMessage(...) is emitted when VideoPlayerController has a status message to disp...
void slot_showLastImage()
[slot] slot_showLastImage() displays last image.
Definition videoplayercontroller.cpp:167
void slot_deleteAllKeyframes()
[slot] slot_deleteAllKeyframes() deletes all keyframes.
Definition videoplayercontroller.cpp:293
void sig_toggleKeyframe(uint idx, bool isNowKeyframe)
[signal] sig_toggleKeyframe notifies about a manual keyframe change by clicking Add keyframe/Remove k...
void slot_stopPlay()
[slot] slot_stopPlay() stops running videoPlayer.
Definition videoplayercontroller.cpp:317
void slot_redraw()
[slot] slot_redraw() draws selected image again.
Definition videoplayercontroller.cpp:353
void slot_changeIndex(unsigned int index)
[slot] slot_changeIndex(...) displays the image from DataManager referenced by given index.
Definition videoplayercontroller.cpp:263
void slot_deleteKeyframes()
[slot] slot_deleteKeyframes() deletes all selected keyframes.
Definition videoplayercontroller.cpp:282
void slot_showNextImage()
[slot] slot_showNextImage() displays image going one or more steps forward from current image.
Definition videoplayercontroller.cpp:186
void slot_resetBoundaries()
[slot] slot_resetBoundaries() updates the mip so that the boundaries are back to default
Definition videoplayercontroller.cpp:349
void slot_changeStepSize(unsigned int stepsize)
[slot] slot_changeStepSize(...) changes stepsize for iterating the images.
Definition videoplayercontroller.cpp:259
void slot_toggleKeyframesOnly(bool checked)
[slot] slot_toggleKeyframesOnly(...) switches between displaying all images or keyframes only.
Definition videoplayercontroller.cpp:226
unsigned int getImageIndexOnScreen()
getImageIndexOnScreen getter for m_imageIndexOnScreen (only used in tests for now)
Definition videoplayercontroller.cpp:131
void slot_showFirstImage()
[slot] slot_showFirstImage() displays first image.
Definition videoplayercontroller.cpp:158
void slot_showPreviousImage()
[slot] slot_showPreviousImage() displays image going one or more steps backward from current image.
Definition videoplayercontroller.cpp:176
void slot_toggleKeyframe()
[slot] slot_toggleKeyframe() toggles keyframe-state for currently displayed image.
Definition videoplayercontroller.cpp:196
The VideoPlayer class provides a view to display images and holds buttons to interact with image sequ...
Definition videoplayer.h:50
Definition asyncimageloader.h:11
Definition asyncimageloader.h:16
Definition pluginthread.h:23